/** * NEXEDI * Author: Thomas Lechauve * Date: 4/17/12 */ var methods = { // URL GENERATORS / EXTRACTORS genInstanceUrl: function (uri) { return $.router.genHash(['instance', 'id', encodeURIComponent(uri)]); }, genSoftwareUrl: function (uri) { return $.router.genHash(['library', 'software', encodeURIComponent(uri)]); }, genBangUrl: function (uri) { return methods.genInstanceUrl(uri) + "/bang"; }, extractInstanceURIFromHref: function () { return decodeURIComponent($(this).attr('href').split('/').pop()); }, extractInstanceURIFromHashtag: function () { var loc = window.location.href.split('#')[1].split('/'), i = $.inArray("instance", loc); return (i !== -1 && loc.length > i) ? decodeURIComponent(loc[i + 1]) : ""; }, // AUTHENTICATION isAuthenticated: function () { // TODO return true; }, // RENDER changePage: function (page) { $('body').append($(page)); $.mobile.changePage($(page), {changeHash: false, transition: $.mobile.defaultPageTransition}); }, render: function (template, data, raw) { raw = raw || true; return this.each(function () { $(this).html(ich[template](data, raw)); $(this).trigger('pagecreate'); }); }, getRender: function (template, data, raw) { raw = raw || true; return ich[template](data, raw); }, getPageRender: function (template, data, raw) { return $('<div></div>').html(methods.getRender(template, data, raw)).attr('data-role', 'page'); }, renderAppend: function (template, data, raw) { raw = raw || true; return this.each(function () { $(this).append(ich[template](data, raw)); $(this).trigger('pagecreate'); }); }, renderPrepend: function (template, data, raw) { raw = raw || true; return this.each(function () { $(this).prepend(ich[template](data, raw)); $(this).trigger('pagecreate'); }); } }; $.fn.vifib = function (method) { if (methods[method]) { return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); } else { $.error( 'Method ' + method + ' does not exist on jQuery.vifib' ); } };