Skip to content

Instantly share code, notes, and snippets.

@net-uk-sweet
Created February 3, 2016 15:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save net-uk-sweet/ab7b32672e9489a7b0d6 to your computer and use it in GitHub Desktop.
Save net-uk-sweet/ab7b32672e9489a7b0d6 to your computer and use it in GitHub Desktop.
define(function (require) {
'use strict';
var $ = require('jquery');
var findDeps = function($container) {
var deps = [];
$container.find('[data-require]').each(function (i, el) {
var $el = $(el),
data = $el.data(),
ref = data.require;
// Don't need this in data passed to modules
delete data.require;
if(!data.module) {
var deferred = $.Deferred();
require([ref], function (module) {
console.log('INFO: Loaded module:', module, ' Data:', data);
$el.data('module', 'module');
module($el, data);
deferred.resolve(module);
});
deps.push(deferred);
}
// console.log("deps count: ", deps.length);
});
$.when.apply(this, deps).done(function () {
console.log('INFO: Modules loaded', Array.prototype.slice.call(arguments));
});
return deps;
};
return {
findDeps: findDeps
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment