UNPKG

@progress/telerik-jquery-report-viewer

Version:

Progress® Telerik® Report Viewer for jQuery

36 lines (33 loc) 1.17 kB
import { rTrim, replaceAll, trim, filterUniqueLastOccurrence } from './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 = rTrim(serviceUrl, "\\/") + "/"; html = replaceAll(html, "{service}/", baseUri); html = replaceAll(html, "{service}", baseUri); var viewerTemplate = $("<div></div>").html(html); Array.from(viewerTemplate.find("template")).forEach((element) => { var $element = $(element); templates[$element.attr("id")] = trim($element.html(), "\n "); }); Array.from(viewerTemplate.find("link")).forEach((element) => { styleSheets.push(trim(element.outerHTML, "\n ")); }); styleSheets = filterUniqueLastOccurrence(styleSheets); return { templates, styleSheets }; }); } return p; } }; }(); export { TemplateCache };