(function($, window) { var dojo = { postSnippet: function (snippet, baseUrl) { snippet = dojo.fixCDNReferences(snippet); snippet = dojo.addBaseRedirectTag(snippet, baseUrl); snippet = dojo.addConsoleScript(snippet); snippet = dojo.fixLineEndings(snippet); snippet = dojo.replaceCommon(snippet, window.kendoCommonFile); snippet = dojo.replaceTheme(snippet, window.kendoTheme); snippet = window.btoa(encodeURIComponent(snippet)); var form = $('
').hide().appendTo(document.body); $("").val(snippet).appendTo(form); if ($("#mobile-application-container").length) { $("").val("ios7").appendTo(form); } form.submit(); }, replaceCommon: function(code, common) { if (common) { code = code.replace(/common\.min\.css/, common + ".min.css"); } return code; }, replaceTheme: function(code, theme) { if (theme) { code = code.replace(/default\.min\.css/g, theme + ".min.css"); } return code; }, addBaseRedirectTag: function (code, baseUrl) { return code.replace( '', '\n' + ' \n' + ' ' ); }, addConsoleScript: function (code) { if (code.indexOf("kendoConsole") !== -1) { var styleReference = ' \n'; var scriptReference = ' \n'; code = code.replace("", styleReference + scriptReference + ""); } return code; }, fixLineEndings: function (code) { return code.replace(/\n/g, " "); }, fixCDNReferences: function (code) { return code.replace(/[\s\S]*<\/head>/, function (match) { return match .replace(/src="\/?/g, "src=\"" + dojo.configuration.cdnRoot + "/") .replace(/href="\/?/g, "href=\"" + dojo.configuration.cdnRoot + "/"); }); } }; $.extend(window, { dojo: dojo }); })(jQuery, window);