Close old menu properly when a different type of menu is opened.
This commit is contained in:
parent
adc970c9cb
commit
84dc51e2cf
@ -46,15 +46,15 @@ UI = do ->
|
|||||||
# Close if it's already opened.
|
# Close if it's already opened.
|
||||||
# Reopen if we clicked on another button.
|
# Reopen if we clicked on another button.
|
||||||
previousButton = lastToggledButton
|
previousButton = lastToggledButton
|
||||||
@close()
|
currentMenu.close()
|
||||||
return if previousButton is button
|
return if previousButton is button
|
||||||
|
|
||||||
return unless @entries.length
|
return unless @entries.length
|
||||||
@open button, data
|
@open button, data
|
||||||
|
|
||||||
open: (button, data) ->
|
open: (button, data) ->
|
||||||
menu = @makeMenu()
|
menu = @menu = @makeMenu()
|
||||||
currentMenu = menu
|
currentMenu = @
|
||||||
lastToggledButton = button
|
lastToggledButton = button
|
||||||
|
|
||||||
@entries.sort (first, second) ->
|
@entries.sort (first, second) ->
|
||||||
@ -65,7 +65,7 @@ UI = do ->
|
|||||||
|
|
||||||
$.addClass lastToggledButton, 'active'
|
$.addClass lastToggledButton, 'active'
|
||||||
|
|
||||||
$.one d, 'click scroll CloseMenu', @close
|
$.on d, 'click scroll CloseMenu', @close
|
||||||
$.add button, menu
|
$.add button, menu
|
||||||
|
|
||||||
# Position
|
# Position
|
||||||
@ -116,10 +116,12 @@ UI = do ->
|
|||||||
return
|
return
|
||||||
|
|
||||||
close: =>
|
close: =>
|
||||||
$.rm currentMenu
|
$.rm @menu
|
||||||
|
delete @menu
|
||||||
$.rmClass lastToggledButton, 'active'
|
$.rmClass lastToggledButton, 'active'
|
||||||
currentMenu = null
|
currentMenu = null
|
||||||
lastToggledButton = null
|
lastToggledButton = null
|
||||||
|
$.off d, 'click scroll CloseMenu', @close
|
||||||
|
|
||||||
findNextEntry: (entry, direction) ->
|
findNextEntry: (entry, direction) ->
|
||||||
entries = [entry.parentNode.children...]
|
entries = [entry.parentNode.children...]
|
||||||
@ -127,7 +129,7 @@ UI = do ->
|
|||||||
entries[entries.indexOf(entry) + direction]
|
entries[entries.indexOf(entry) + direction]
|
||||||
|
|
||||||
keybinds: (e) =>
|
keybinds: (e) =>
|
||||||
entry = $ '.focused', currentMenu
|
entry = $ '.focused', @menu
|
||||||
while subEntry = $ '.focused', entry
|
while subEntry = $ '.focused', entry
|
||||||
entry = subEntry
|
entry = subEntry
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user