2011-11-10 01:43:19 +00:00
|
|
|
class Locomotive.Views.ApplicationView extends Backbone.View
|
|
|
|
|
|
|
|
el: 'body'
|
|
|
|
|
|
|
|
render: ->
|
|
|
|
@render_flash_messages(@options.flash)
|
|
|
|
|
2011-11-16 10:19:57 +00:00
|
|
|
@add_submenu_behaviours()
|
|
|
|
|
2011-11-16 00:39:16 +00:00
|
|
|
@center_ui_dialog()
|
|
|
|
|
2011-11-10 12:29:59 +00:00
|
|
|
if @options.view?
|
2011-11-21 01:27:05 +00:00
|
|
|
@view = new @options.view(@options.view_data || {})
|
2011-11-10 12:29:59 +00:00
|
|
|
@view.render()
|
|
|
|
|
2011-11-21 01:27:05 +00:00
|
|
|
window.Locomotive.tinyMCE.defaultSettings.language = window.locale # set the default tinyMCE language
|
|
|
|
window.Locomotive.tinyMCE.minimalSettings.language = window.locale
|
2011-11-18 23:20:37 +00:00
|
|
|
|
2011-11-10 01:43:19 +00:00
|
|
|
return @
|
|
|
|
|
|
|
|
render_flash_messages: (messages) ->
|
|
|
|
_.each messages, (couple) ->
|
|
|
|
$.growl couple[0], couple[1]
|
2011-11-16 00:39:16 +00:00
|
|
|
|
|
|
|
center_ui_dialog: ->
|
|
|
|
$(window).resize ->
|
|
|
|
$('.ui-dialog-content:visible').dialog('option', 'position', 'center')
|
2011-11-16 10:19:57 +00:00
|
|
|
|
|
|
|
add_submenu_behaviours: ->
|
2011-11-23 13:01:15 +00:00
|
|
|
$('#submenu ul li.hoverable').each ->
|
|
|
|
timer = null
|
|
|
|
link = $(@)
|
2011-11-25 09:56:56 +00:00
|
|
|
(popup = link.find('.popup')).removeClass('popup').addClass('submenu-popup').css(
|
|
|
|
top: link.offset().top + link.height() - 2
|
|
|
|
left: link.offset().left - parseInt(popup.css('padding-left'))
|
2011-11-23 13:01:15 +00:00
|
|
|
).bind('show', ->
|
|
|
|
link.find('a').addClass('hover') & popup.show()
|
|
|
|
).bind('hide', ->
|
|
|
|
link.find('a').removeClass('hover') & $(@).hide()
|
|
|
|
).bind('mouseleave', -> popup.trigger('hide')
|
|
|
|
).bind 'mouseenter', -> clearTimeout(timer)
|
|
|
|
|
|
|
|
$(document.body).append(popup)
|
|
|
|
|
|
|
|
link.hover(
|
|
|
|
-> popup.trigger('show')
|
|
|
|
-> timer = window.setTimeout (-> popup.trigger('hide')), 30
|
|
|
|
)
|
2011-11-16 10:19:57 +00:00
|
|
|
|
|
|
|
css = $('#submenu > ul').attr('class')
|
|
|
|
$("#submenu > ul > li.#{css}").addClass('on') if css != ''
|
|
|
|
|