define [ "../session", "dijit/DropDownMenu", "dijit/registry", "dijit/MenuBarItem", "dojo/_base/declare", "dojo/_base/event", "dojo/on" ], (session, DropDownMenu, registry, MenuBarItem, declare, event, _on) -> declare [MenuBarItem], info: null postCreate: () -> @loginDialog = registry.byId 'loginDialog' console.error "Cannot find loginDialog" if not @loginDialog @set 'label', "Login" startup: () -> if @_started then return @inherited arguments @_update session.get() _on session, 'change', (info) => @_update info _update: (info) -> @info = info if info @set 'label', "Logout, "+info.username else @set 'label', "Login" onClick: (evt) -> if @info session.logout() else @loginDialog.show() event.stop evt if evt false