### Initialize the layout of a certain
@namespace Lungo @class Aside @author Javier Jimenez Villar || @soyjavi ### Lungo.Aside = do (lng = Lungo) -> C = lng.Constants _callback = undefined _customAsideAnimation = undefined ### Display an aside element with a particular
@method show ### show = (aside_id, animate_section = true, fromX = 0) -> aside = lng.dom("##{aside_id}") if aside.length lng.Element.Cache.aside = aside aside_transition = aside.data(C.TRANSITION.ATTR) or "left" aside.addClass(C.CLASS.SHOW) if lng.DEVICE is C.DEVICE.PHONE if fromX then _phoneCustomAnimation fromX, false else lng.Element.Cache.section.data("aside-#{aside_transition}", "show") else aside_section = lng.dom("[data-aside=#{aside_id}]") if aside_section.data("children") if aside_section.attr("id") isnt lng.Element.Cache.section.attr("id") lng.Element.Cache.section.addClass "shadowing" aside_section.removeClass("aside").addClass "asideShowing" showFix = (aside_id) -> aside = lng.dom("##{aside_id}") if aside.length lng.Element.Cache.aside = aside aside.addClass(C.CLASS.SHOW).addClass("box") ### Hide an aside element with a particular section @method hide ### hide = (callback, fromX) -> if lng.Element.Cache.aside _callback = callback aside_transition = lng.Element.Cache.aside.data(C.TRANSITION.ATTR) or "left" if lng.DEVICE is C.DEVICE.PHONE lng.Element.Cache.section.removeClass("aside").removeClass("aside-right") if fromX then _phoneCustomAnimation fromX, true else lng.Element.Cache.section.data("aside-#{aside_transition}", "hide") else lng.dom(".aside").removeClass("aside").addClass("asideHidding") lng.Element.Cache.aside = null if callback then callback.call callback lng.dom(".shadow").removeClass("shadow").addClass("unshadowing") else if callback then callback.call callback ### Toggle an aside element @method toggle @param {string} Aside id ### toggle = (aside) -> if lng.Element.Cache.aside then do lng.Aside.hide else lng.Aside.show aside ### Triggered when