Sha256: 72aecd2dd524599d4dfb313164c13912245865d8b3d0c30b511cb978475c2920

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

Locomotive.Views.Shared ||= {}

class Locomotive.Views.Shared.SidebarView extends Backbone.View

  el: 'body > .sidebar'

  initialize: ->
    _.bindAll(@, 'close_sidebar_on_mobile')

    @pages_view = new Locomotive.Views.Pages.ListView()

    @tokens = [
      PubSub.subscribe 'application_view.resize', @close_sidebar_on_mobile
    ]

  render: ->
    @pages_view.render()
    @collapse_in_sections()
    @close_sidebar_on_mobile()

  toggle_sidebar: (event) ->
    if @is_sidebar_open() then @close_sidebar() else @show_sidebar()

  is_sidebar_open: ->
    $('body').hasClass('sidebar-open')

  show_sidebar: ->
    $('body').removeClass('sidebar-closed').addClass('sidebar-open')

  close_sidebar: ->
    $('body').removeClass('sidebar-open').addClass('sidebar-closed')

  close_sidebar_on_mobile: ->
    if @is_sidebar_open() && $(window).width() < 992
      @close_sidebar()

  collapse_in_sections: ->
    @$('a[data-toggle="collapse"].is-active').each ->
      target_id = $(this).attr('href')
      $(target_id).collapse('show')

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
locomotivecms-3.1.0.rc1 app/assets/javascripts/locomotive/views/shared/sidebar_view.js.coffee