mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
23 lines
702 B
CoffeeScript
23 lines
702 B
CoffeeScript
angular.module("admin.indexUtils").factory 'Panels', ->
|
|
new class Panels
|
|
panels: []
|
|
|
|
register: (ctrl, object, selected=null) ->
|
|
if ctrl? && object?
|
|
@panels.push { ctrl: ctrl, object: object, selected: selected }
|
|
ctrl.select(selected) if selected?
|
|
|
|
toggle: (object, name, state=null) ->
|
|
panel = @findPanelByObject(object)
|
|
if panel.selected == name
|
|
@select(panel, null) unless state == "open"
|
|
else
|
|
@select(panel, name) unless state == "closed"
|
|
|
|
select: (panel, name) ->
|
|
panel.selected = name
|
|
panel.ctrl.select(name)
|
|
|
|
findPanelByObject: (object) ->
|
|
(panel for panel in @panels when panel.object == object)[0]
|