diff options
Diffstat (limited to 'module/web/static/js/utils/lazyRequire.js')
-rw-r--r-- | module/web/static/js/utils/lazyRequire.js | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/module/web/static/js/utils/lazyRequire.js b/module/web/static/js/utils/lazyRequire.js index d20d78610..b381e0ce6 100644 --- a/module/web/static/js/utils/lazyRequire.js +++ b/module/web/static/js/utils/lazyRequire.js @@ -1,9 +1,9 @@ // Define the module. define( [ - "require" + "require", "underscore" ], - function( require ){ + function( require, _ ){ // Define the states of loading for a given set of modules @@ -31,7 +31,7 @@ define( var state = states.unloaded; var args; - var requireOnce = function( dependencies, loadCallback ){ + var requireOnce = function(dependencies, loadCallback ){ // Use the module state to determine which method to // invoke (or just to ignore the invocation). @@ -80,10 +80,17 @@ define( // -------------------------------------------------- // // -------------------------------------------------- // + // Set up holder for underscore + var instances = {}; + _.requireOnce = function(dependencies, loadCallback) { + if (!_.has(instances, dependencies)) + instances[dependencies] = lazyRequire.once(); - // Return the module definition. - return( lazyRequire ); + return instances[dependencies](dependencies, loadCallback) + }; + // Return the module definition. + return( lazyRequire ); } );
\ No newline at end of file |