/** * Handles the and to show * * @namespace LUNGO * @class Router * * @author Javier Jimenez Villar || @soyjavi * @author Guillermo Pascual || @pasku1 */ LUNGO.Router = (function(lng, undefined) { var CLASS = lng.Constants.CLASS; var ELEMENT = lng.Constants.ELEMENT; var ERROR = lng.Constants.ERROR; var TRIGGER = lng.Constants.TRIGGER; var HASHTAG_CHARACTER = '#'; var _sections = []; var init = function() { if(!_sections) { _sections = lng.dom(ELEMENT.SECTION); } }; /** * Navigate to a
. * * @method section * * @param {string} Id of the
*/ var section = function(section_id) { section_id = lng.Core.parseUrl(section_id); var current = lng.Element.Current.section; if (_notCurrentTarget(section_id, current)) { var target = lng.dom(ELEMENT.SECTION + section_id); if (target.length > 0) { current.removeClass(CLASS.SHOW).addClass(CLASS.HIDE).trigger(TRIGGER.UNLOAD); target.addClass(CLASS.SHOW).trigger(TRIGGER.LOAD); lng.Element.Current.section = target; lng.Router.History.add(section_id); } } }; /** * Displays the
in a particular
. * * @method article * * @param {string}
Id * @param {string}
Id */ var article = function(section_id, article_id, element) { section_id = lng.Core.parseUrl(section_id); article_id = lng.Core.parseUrl(article_id); var current = lng.Element.Current.article; if (_notCurrentTarget(article_id, current)) { var target = lng.dom(ELEMENT.SECTION + section_id + ' ' + ELEMENT.ARTICLE + article_id); if (target.length > 0) { current.removeClass(CLASS.CURRENT).trigger(TRIGGER.UNLOAD); target.addClass(CLASS.CURRENT).trigger(TRIGGER.LOAD); lng.Element.Current.article = target; lng.View.Article.show(section_id, article_id, element); } } }; /** * Displays the