
require './sidenav.styl'

vision = angular.module 'vision'
vision.component 'appSidenav',
  template: do require './sidenav.jade'
  controllerAs: 'vm'
  bindings:
    load: '='
  controller: ($state, $timeout, $mdSidenav, $location) ->
    'ngInject'

    @tabs = []

    # получаем вкладки
    for state in $state.get()
      if state.tab is yes and state.module.access()
        state.index ?= 98
        @tabs.push state

    @tabs = _.sortBy @tabs, ['index', 'title']

    if $location.path() is '/'
      $state.go @tabs[0].name

    @click = (tab, e) ->
      do e.preventDefault
      do e.stopPropagation
      @load = no
      $timeout =>
        $state.go tab.name
        $mdSidenav('app-sidenav').close().then => @load = yes
      , 100

    return no

setTimeout ->

  $('app-sidenav a').on 'click', (e) ->
    do e.preventDefault
, 500
