It's not a real bug, because if you install the jcook-generated component in a fresh standard joomla website, everything works perfectly.
But in the real world, this will not happen so often, usually you'll never use the default joomla templates or ONLY the default core components.
So I found out the following function, located in the ROOT\administrator\components\com_yourcomponent\dom\assets\ajax\js\ajax.js
(function($) {
'use strict';
/**
* Multiple parallel getScript
* https://gist.github.com/vseventer/1378913
*
* @access public
* @param Array|String url (one or more URLs)
* @param callback fn (oncomplete, optional)
* @returns void
*/
var getScript = $.getScript;
$.getScript = function(url, fn)
{
if(!$.isArray(url)) {//juggle type
url = [url];
}
$.when.apply(null, $.map(url, getScript)).done(function() {
fn && fn();
});
};
}(jQuery));
sometimes has conflicts with other functions with the same name, last time this happened to me was with a yootheme template. I suggest to change the name of the function to something more uncommon, but this is my opinion, I let the admin think about it. by the way changing the function name solved me JS conflicts with that template, here what I replaced:
(function($) {
'use strict';
/**
* Multiple parallel getScript
* https://gist.github.com/vseventer/1378913
*
* @access public
* @param Array|String url (one or more URLs)
* @param callback fn (oncomplete, optional)
* @returns void
*/
var JCookGetScript = $.JCookGetScript;
$.JCookGetScript = function(url, fn)
{
if(!$.isArray(url)) {//juggle type
url = [url];
}
$.when.apply(null, $.map(url, JCookGetScript)).done(function() {
fn && fn();
});
};
}(jQuery));
p.s.
obviously it's needed to change the function name on each place that function is called.