diff options
| author | Misko Hevery | 2012-01-13 14:19:10 -0800 |
|---|---|---|
| committer | Misko Hevery | 2012-01-13 14:28:43 -0800 |
| commit | 5cdfe45aa3e50fabad44009c1b8511253c6e4915 (patch) | |
| tree | eb921be6b173d5fd3a9cd1f0a95b5e1cace37fd8 /src/loader.js | |
| parent | 16a40c626fc3da688596928afa028a596204a683 (diff) | |
| download | angular.js-5cdfe45aa3e50fabad44009c1b8511253c6e4915.tar.bz2 | |
feat(module): add runtime block
Diffstat (limited to 'src/loader.js')
| -rw-r--r-- | src/loader.js | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/src/loader.js b/src/loader.js index 3d5edd31..e6662aae 100644 --- a/src/loader.js +++ b/src/loader.js @@ -58,7 +58,7 @@ function setupModuleLoader(window) { * {@link angular.Module#init Module.init()}. * @return {angular.Module} */ - return function module(name, requires, initFn) { + return function module(name, requires, configFn) { if (requires && modules.hasOwnProperty(name)) { modules[name] = null; } @@ -70,10 +70,17 @@ function setupModuleLoader(window) { /** @type {!Array.<Array.<*>>} */ var invokeQueue = []; - var init = invokeLater('$injector', 'invoke'); + /** @type {!Array.<Function>} */ + var runBlocks = []; + + var config = invokeLater('$injector', 'invoke'); /** @type {angular.Module} */ var moduleInstance = { + // Private state + _invokeQueue: invokeQueue, + _runBlocks: runBlocks, + /** * @ngdoc property * @name angular.Module#requires @@ -83,7 +90,16 @@ function setupModuleLoader(window) { * Holds the list of modules which the injector will load before the current module is loaded. */ requires: requires, - invokeQueue: invokeQueue, + + /** + * @ngdoc property + * @name angular.Module#name + * @propertyOf angular.Module + * @returns {string} Name of the module. + * @description + */ + name: name, + /** * @ngdoc method @@ -131,18 +147,32 @@ function setupModuleLoader(window) { /** * @ngdoc method - * @name angular.Module#init + * @name angular.Module#config * @methodOf angular.Module - * @param {Function} initializationFn Execute this function on module load, allowing it to do any - * service configuration.. + * @param {Function} initializationFn Execute this function on module load. Useful for + * service configuration. * @description * Use this method to register work which needs to be performed on module loading. */ - init: init + config: config, + + /** + * @ngdoc method + * @name angular.Module#run + * @methodOf angular.Module + * @param {Function} initializationFn Execute this function after injector creation. + * Useful for application initialization. + * @description + * Use this method to register work which needs to be performed on module loading. + */ + run: function(block) { + runBlocks.push(block); + return this; + } }; - if (initFn) { - init(initFn); + if (configFn) { + config(configFn); } return moduleInstance; |
