var uid = 0;
/**
* Render a demo template page
* @author Eduardo Lundgren (braeker)
* @param {Object} model
*/
var uiRenderDemo = function(model) {
var title = model.title, renderAt = $(model.renderAt);
function nl2br( str ) {
return str.replace(/([^>])\n/g, '$1
\n');
}
var js2html = function(code) {
var src = (js_beautify(code) || "");
//if ($.browser.msie)
// src = src.replace(/([^>])\n/g, '$1
\n');
return src;
};
renderAt.append(
'
'+ title +'
'
);
$.each(model.demos, function(i, demo) {
/**
* Rendering each demo
*/
if (!demo) return;
var uiHtmlRendered = $('');
if (model.onRenderStart) model.onRenderStart.apply(window);
var gid = 'ui-gen-'+uid++, demoBox = $('');
renderAt.append(demoBox);
var detailsHtml = $(
'
'
);
var descBox = $(
''+(demo.desc||'')+'
'
);
var optionsBox = $(
''
);
var codesBox = $(
''
)
.css({display: 'none'});
var sourceTmpl = $(
''
);
var preTmpl = $(
''
);
var codeTmpl = $(
'
'
);
var htmlCode = '', sourceHtml = sourceTmpl.clone(), sourceJs = sourceTmpl.clone(), entitiesHtml = function(html) {
return html.replace(//g,">");
};
// Render simple HTML
if (typeof demo.html == 'string') {
uiHtmlRendered.html(demo.html);
htmlCode = demo.html;
}
// Render data html by URL
if (typeof demo.html == 'object' && demo.html.url) {
uiHtmlRendered.html("");
$.ajax({
type: "GET",
url: demo.html.url,
cache: false,
success: function(data) {
uiHtmlRendered.html(data);
htmlCode = data;
// set html code view
sourceHtml.html(preTmpl.clone().html( codeTmpl.clone().addClass('colored html').html(entitiesHtml(htmlCode)) ));
$.each(demo.options, function(x, o) {
// eval the first source of