2
0
Fork 0

added delayed dss for testing

This commit is contained in:
Willem 2016-03-16 22:53:58 +01:00
parent f0918dce75
commit b09a5f0906
2 changed files with 27 additions and 6 deletions

View file

@ -118,6 +118,7 @@
percentage: true,
}
},
delayDss: false, // TODO: move to cache type options
},
cache: {
meta: null,
@ -133,6 +134,12 @@
*/
var cacheDB = null;
/**
* Use delayed fetch
* @private
*/
var delayedResources = [];
/**
* The factory which contains detection helpers and cache backend builders.
*/
@ -585,7 +592,13 @@
});
};
var loadResource = function (resource, cb) {
var loadResource = function (resource, cb, loadDelayed) {
if (options.loader.delayDss === true && resource.type === 'css' && loadDelayed === undefined) {
utilDebug('loadResource delay '+JSON.stringify(resource));
delayedResources.push(resource);
return cb(null);
}
var resourceUrl = resource.url;
if (resourceUrl.indexOf('http') === -1) {
resourceUrl = options.server.url + resourceUrl;
@ -996,6 +1009,18 @@
});
};
var loadDelayedResouces = function() {
if (delayedResources.length === 0) {
return; // nop
}
var loadResourceStep = function (resource, cb) {
loadResource(resource,cb, true);
};
utilRunStack('loadResources', delayedResources, loadResourceStep , function (/*err*/) {
//cb(err);
});
};
/**
* Starts the loader.
*
@ -1011,6 +1036,7 @@
bootCleanup(); // move after ang.
bootAngular(function(err) {
if (err !== null) { return options.error.handler(err); }
loadDelayedResouces();
if (typeof cbArgu === 'function') {
cbArgu();
}
@ -1107,8 +1133,6 @@
/**
* Boot cleanup removed the html tags by id after the timeout.
*
* note: sync function
*
* @private
*/
var bootCleanup = function() {
@ -1122,7 +1146,6 @@
}
utilDebug('bootCleanup after '+options.boot.cleanup.timeout+' ms.');
setTimeout ( function () {
utilDebug('bootCleanup run');
for (var tagIdx in options.boot.cleanup.tags) {
var tagId = options.boot.cleanup.tags[tagIdx];
var tag = document.getElementById(tagId);

View file

@ -8,8 +8,6 @@
<body>
<script id="ffCleanupScript"><%- inlineScript %></script>
<script id="ffCleanupConfig">
//FFSpaLoader.options.cache.css = false;
//FFSpaLoader.options.cache.dss = false;
FFSpaLoader.options.debug.enable = true;
FFSpaLoader.options.boot.angular.modules.push('exampleUI');
FFSpaLoader.options.boot.cleanup.tags.push('ffCleanupCss');