Sha256: a8e6d2a6c5a20494816bc131f301e57c91f68ffe2b9b0b0998c15c0d29e95707

Contents?: true

Size: 1.32 KB

Versions: 29

Compression:

Stored size: 1.32 KB

Contents

#= require ./simple_view

class Locomotive.Views.ApplicationView extends Locomotive.Views.SimpleView

  el: 'body'

  events:
    'click .navigation-app .navigation-trigger': 'toggle_sidebar'

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

    @header_view  = new Locomotive.Views.Shared.HeaderView()
    @sidebar_view = new Locomotive.Views.Shared.SidebarView()
    @drawer_view  = new Locomotive.Views.Shared.DrawerView()

    @tokens = [PubSub.subscribe 'sidebar.close', @toggle_sidebar]

    window.unsaved_content = false

  render: ->
    super

    @sidebar_view.render()
    @drawer_view.render()

    @set_max_height()

    @automatic_max_height()

    @register_warning_if_unsaved_content()

  toggle_sidebar: (event) ->
    @sidebar_view.toggle_sidebar()

  automatic_max_height: ->
    $(window).on 'resize', =>
      height = @set_max_height()
      PubSub.publish 'application_view.resize', height: height

  set_max_height: ->
    max_height  = $(window).height()
    height      = max_height - @header_view.height()

    @$('> .wrapper').height(height)

    height

  register_warning_if_unsaved_content: ->
    $(window).bind 'beforeunload', ->
      if window.unsaved_content
        return $('meta[name=unsaved-content-warning]').attr('content')

  remove: ->
    super()
    _.each @tokens, (token) -> PubSub.unsubscribe(token)

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
locomotivecms-4.2.0.alpha2 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.2.0.alpha1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.1.1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.1.0 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.1.0.rc1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.3 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.2 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.0 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.0.rc0 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.0.alpha3 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.4.1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.0.alpha2 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-4.0.0.alpha1 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.4.0 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.3.0 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.3.0.rc3 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.3.0.rc2 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.1.2 app/assets/javascripts/locomotive/views/application_view.js.coffee
locomotivecms-3.2.1 app/assets/javascripts/locomotive/views/application_view.js.coffee