- resolve the loader with created elements (3351e44d, #292)
- ensure CSS loader uses loading patch for PhantomJS 1.9 (54d68e92, #280)
- angular 1.6 compatibility (17d372fc, #377)
- allow hot reloading via systemjs-hot-reloader (94088482, #291)
- requirejs error callback (11130942)
- infinite loop in inject (70859980)
- IE "Invalid calling object" error (attach to DOM and then compile) (d99ab925)
- calling inject from loaders should pass the "real" module param (953584e8, #221)
- directive compile original contents after dependency is loaded. (a48e3ceb, #168, #194)
- loading a module with dependencies with multiple oc-lazy-load directives (098e391b, #213)
- changing semver dependency for Angular (30626401, #195)
- optimise signature calls and onInvoke function (c56e727e)
- don't let unmet dependencies slip through (thank you unit tests!) (23eb666d)
- don't try to call angular.module on config names (52219f92, #217, #218)
- add extra condition to improve karma testing (f0c33aae)
- add interoperability with CommonJS (b0536ad4)
- don't remove filecache for files that were successfully loaded (e2ed37c0)
- use parent element instead of head to insert files in native loaded (ad4276a3, #164)
- don't compile text nodes in the directive (8900e493, #168)
- files cache should be cleaned upon resolution of the promise (9a186c93, #189)
- reject promise when calling 'load' instead of 'inject' (31595472, #147)
- make inject work as a standalone function when no params are given (499bd72d, #171)
- guard against null-refs when parsing Safari user-agents (818aa5d0, #188)
- checking if we're not registering a component with a reserved name (such at
toString
) (7362ca49, #184)
- adding a plunkr for issues (2f408d27)
- components can be registered as object maps now (08ed860e, #156)
- make a real copy of the params (6a5d3d4c, #160)
- ES6fy all the things! (9cae48c8)
- ocLazyLoad is now modular and (partially) written in ES6! It should be easier to write new loaders (or even extensions), and you can cherry picks the parts that you like. For example, you can use the injector without the loaders. Also, all of the internal functions are available (preceded by an underscore, and undocumented), use them at your own risk (in fact you shouldn't need them unless you're writing an extension).
- the directive should append the content and not add it after
- only the modules added via angular.bootstrap should be considered "already loaded" #147
- try to remove most of the promises for perfs/tests
- use moaaar ES6
- clean up the code
- detect file type when path contains url parameters (57e1801d, #137)
- rejected promise should be returned immediately (887a67c4)
- first step on supporting systemjs & import (cb8dd62e)
- karma hack isn't needed anymore (3108296e)
- angular.bootstrap now adds modules to init, not replace them (bdc03dd9)
- fixed TypeError: Converting circular structure to JSON (11da36d9)
- don't watch for angular.module calls when you're not lazy loading (35f7eb5b)
- hash the signature to optimize memory consumption (1cd9676e)
- staged lines missing from last commit (dd24bcdd)
- don't throw for karma (633bec8b, #129)
- RequireJS should be able to load js files with no extension (default behavior) (4f60d05d)
- null constants should work (83d416f9, #111)
- keep track of components signatures instead of just the names (6bbaed97, #120)
- improve bootstrap & added compatibility with karma (ff6afcf5, #111)
- you don't need to specify the name of the lazy loaded modules anymore!! (6634cbee)
- added support for specifying the type of a file. (a3549eea)
- adding a table of contents (98aad141)
- added a link to a new lesson from egghead.io (ef8d2871)
- don't use async when you load files in serie (9af93ed3, #95)
- avoid errors thrown on empty template files (768b9d75)
- compatibility with jasmine (d4985e1d, #94)
- updated loaders signatures (ba022894)
- keep global params pristine when loading files (6b2306b7, #89)
- defining new run blocks will replace previous ones (af2627b5, #89)
- new parameter
serie
to load files in serie (4ae7a3f3, #47, #86) - new parameter
rerun
to rerun the run blocks (26a64a38, #89) - new function:
isLoaded
to check if a module has been loaded (364c9e9f, #79)
- fix for error:[$compile:multidir] Multiple directives (61fd4dd3, #84, #78, #73, #58)
- css onload patch for some old browsers (14ce3406)
- content inside the oc-lazy-load directive is now compiled on load (9962e2ef, #80)
- allow components with the same name from different types/modules (f981c337, #67)
- initial modules not registered (bcf50004, #58, #71, #73, #77)
- add support for angular 1.3 in bower (bda921b6, #76)
- broadcast for componentLoaded event provides more info (module name and type) (d41b9f53)
- example1 now uses ui-grid instead of ng-grid (e7cf1e83)
- added link to a new article by @kbdaitch (cc6b41db)
- added a link to a new lesson from egghead.io (e231f3cb)
- added a link to a new lesson from egghead.io (9b3c48e4)
- new event ocLazyLoad.moduleReloaded (5010d144)
- added a few links to other examples
- fixed cases where the config block would not be called
(1e29c9d4,
#5).
The config block would not be called if:
- defined multiple times (only the first 1 would be invoked)
- defined with an auto injected module: ['...', function() {}]
- defined after another component: angular.module().controler().config()
- make sure reconfig:true always run all invoke blocks (361ae6b7, #54)
- the config/run blocks were not invoked without reconfig: true (300882a0, #5)
- indexOf polyfill for IE8 (5f71c09c, #52)
- more log messages for debug (bcbca814)
- don't execute config blocks multiple times by default (e2fec59e, #43, #41)
- don't test for .js in path because of requirejs (6045214b)
- test order (8412cb43)
- allow $ocLazyLoadProvider.config to be called multiple times (c590579c, #43)
- prevent duplicate loadings (12bc6b2b, #35, #38)
- auto changelog from commits msg (c089e085)
- prevent duplicate loadings & add a cache busting param (5a5d7f10, #38)
- $ocLazyLoad will now reject promises on errors
- Use the parameter
debug
to show log messages in the console - JS / CSS / Template loaders are available by default in $ocLazyLoad but you can overwrite them with the config
- Better doc (finally! \o/)
- Example1 is now much better !
- Events broadcasted on module / component / file load (#21)
- Added support for $animateProvider #19
- Added support for CSS Loading (And perhaps other file types in the future) #19
- Added loadAll function for use when a state requires resolve on more than one asset. #19
- FIX: Angular JS 1.3.0-beta.8 changed the way config blocks are handled (now invoked last) #19
- Adopted the MIT license as requested in #20
- Added a gulpfile to build dist files (and, in the future, to do tests before the build). Run
npm install
to install the new dependencies andnpm build
to build the dist files. - Breaking change moved the src files to /src and the dist files to /dist. Installations via bower will only see the dist folder
- Moved the examples to /examples
- Fix for bug #18: merged files and incorrect module loading
- Fix for bug #16: config blocks didn't work for module dependencies
- Fix for bug #8: runBlocks can now load new modules (thanks to @rolandzwaga)
- Added an example that makes use of requirejs and uses ngGrid as a lazy loaded module (thanks to @rolandzwaga)
- Added a changelog !
- Added
loadTemplateFile
function. - Merge pull request #6 from BenBlazely/master (Extension of lazy loading to the angular.module DI block, refactored to use promises for tracking progress.)
- Merge pull request #7 from rolandzwaga/master (Added some improvements for apps using angular.boostrap & for duplicated modules)
- Fixed a bug with run blocks not working when they used unloaded modules. Not a complete fix though, more to come when bug #8 is fixed