@progress/telerik-jquery-report-viewer
Version:
Progress® Telerik® Report Viewer for jQuery
40 lines (35 loc) • 1.25 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var utils = require('./utils.js');
const TemplateCache = function() {
var cache = {};
return {
load: function(url, serviceUrl, client) {
var p = cache[url];
if (!p) {
cache[url] = p = client.get(url).then(function(html) {
var templates = {};
var styleSheets = [];
var baseUri = utils.rTrim(serviceUrl, "\\/") + "/";
html = utils.replaceAll(html, "{service}/", baseUri);
html = utils.replaceAll(html, "{service}", baseUri);
var viewerTemplate = $("<div></div>").html(html);
Array.from(viewerTemplate.find("template")).forEach((element) => {
var $element = $(element);
templates[$element.attr("id")] = utils.trim($element.html(), "\n ");
});
Array.from(viewerTemplate.find("link")).forEach((element) => {
styleSheets.push(utils.trim(element.outerHTML, "\n "));
});
styleSheets = utils.filterUniqueLastOccurrence(styleSheets);
return {
templates,
styleSheets
};
});
}
return p;
}
};
}();
exports.TemplateCache = TemplateCache;
;