kendo-dojo.js
2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
(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 = $('<form method="post" action="' + dojo.configuration.url + '" target="_blank" />').hide().appendTo(document.body);
$("<input name='snippet'>").val(snippet).appendTo(form);
if ($("#mobile-application-container").length) {
$("<input name='mode'>").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(
'<head>',
'<head>\n' +
' <base href="' + baseUrl + '">\n' +
' <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>'
);
},
addConsoleScript: function (code) {
if (code.indexOf("kendoConsole") !== -1) {
var styleReference = ' <link rel="stylesheet" href="../content/shared/styles/examples-offline.css">\n';
var scriptReference = ' <script src="../content/shared/js/console.js"></script>\n';
code = code.replace("</head>", styleReference + scriptReference + "</head>");
}
return code;
},
fixLineEndings: function (code) {
return code.replace(/\n/g, " ");
},
fixCDNReferences: function (code) {
return code.replace(/<head>[\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);