loadPage

/**
 * Load a template and put it in a container.
 * @param {String} templateUrl        The absolute path to the template
 * @param {String} templateId         The id of the chosen template
 * @param {jQuery} $templateContainer Empty container where the template will be placed in
 * @param {Object} viewData           The data that is loaded in the template
 *
 * @TODO: this must be refactored to a wrapper function for Mustache
 */
function loadPage(templateUrl, templateId, $templateContainer, viewData) {
	var defer = new $.Deferred();
	$.get(templateUrl, function(templates) {
		var template = $(templates).filter(templateId).html();
		var output = M.render(template, viewData);
		$templateContainer.html(output);
		defer.resolve();
	});
	return defer.promise();
}

Leave a Reply