summaryrefslogtreecommitdiffstats
path: root/module/web/static/js/utils/lazyRequire.js
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/static/js/utils/lazyRequire.js')
-rw-r--r--module/web/static/js/utils/lazyRequire.js17
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