Sfoglia il codice sorgente

New namespace Lungo.Element.menu

soyjavi 13 anni fa
parent
commit
350fe71ec9

+ 6 - 5
src/boot/Lungo.Boot.Events.coffee

@@ -78,14 +78,15 @@ Lungo.Boot.Events = do (lng = Lungo) ->
 
   _onMenu = (event) ->
     event.preventDefault()
-    menu_id = lng.dom(@).data("view-menu")
-    lng.dom("[data-control=menu]##{menu_id}").toggleClass CLASS.SHOW
+    id = lng.dom(@).data("view-menu")
+    lng.Element.menu.show id
 
   _closeMenu = (event) ->
     event.preventDefault()
-    el = lng.dom(this)
-    parent = el.parent("[data-control=menu]").removeClass(CLASS.SHOW).attr C.ATTRIBUTE.ID
-    lng.dom("[data-view-menu=#{parent}] > .icon").attr "class", "icon " + el.data("icon")
+    el = lng.dom(@)
+    id = el.parent(C.CONTROL.MENU).attr C.ATTRIBUTE.ID
+    lng.Element.menu.hide id
+    lng.dom("[data-view-menu=#{id}] > .icon").attr "class", "icon " + el.data("icon")
 
   _transitionEnd = (event) ->
     section = lng.dom(event.target)

+ 48 - 0
src/element/Lungo.Element.Menu.coffee

@@ -0,0 +1,48 @@
+###
+Set a progress to the element
+
+@namespace Lungo.Element
+@method Menu
+
+@author Javier Jimenez Villar <javi@tapquo.com> || @soyjavi
+###
+
+
+Lungo.Element.menu = do (lng = Lungo) ->
+
+  C = lng.Constants
+
+
+  ###
+  Displays the <data-control-menu> with a determinate Id
+  @method   show
+  @param    {string} <data-control-menu> Id
+  ###
+  show = (id) ->
+    element = @_instance id
+    if element then element.addClass C.CLASS.SHOW
+
+  ###
+  Hides the <data-control-menu> with a determinate Id
+  @method   hide
+  @param    {string} <data-control-menu> Id
+  ###
+  hide = (id) ->
+    element = @_instance id
+    if element then element.removeClass C.CLASS.SHOW
+
+  ###
+  Toggles the <data-control-menu> with a determinate Id
+  @method   toggle
+  @param    {string} <data-control-menu> Id
+  ###
+  toggle = (id) ->
+    element = @_instance id
+    if element
+      if element.hasClass C.CLASS.SHOW then @show id else @hide id
+
+  _instance: (id) -> Lungo.dom "#{C.CONTROL.MENU}##{id}"
+
+  show  : show
+  hide  : hide
+  toggle: toggle

+ 3 - 1
src/modules/Lungo.Constants.coffee

@@ -12,12 +12,14 @@ Lungo.Constants =
     SECTION              : "section"
     ARTICLE              : "article"
     ASIDE                : "aside"
-    MENU                 : "menu"
     BODY                 : "body"
     DIV                  : "div"
     LIST                 : "<ul></ul>"
     LI                   : "li"
 
+  CONTROL:
+    MENU                 : "[data-control=menu]"
+
   QUERY:
     ARTICLE_ROUTER       : "[data-view-article]"
     SECTION_ROUTER       : "[data-view-section]"