fmartingr
/
shelfzilla
Archived
1
0
Fork 0
This repository has been archived on 2021-06-29. You can view files and clone it, but cannot push or open issues or pull requests.
shelfzilla/shelfzilla/themes/bootflat/static/coffee/main.coffee

88 lines
2.3 KiB
CoffeeScript

NProgress.start()
window._updateMessages = false
window.updateMessagesHTML = ->
$.pjax
url: '/messages/'
container: '[data-pjax-container="messages"]'
push: false
window._updateMessages = false
window.updateMessages = ->
$.getJSON "/messages/?format=json", (data) ->
for message in data
toastr[message.extra_tags](message.message)
window._updateMessages = false
window.imageLoad = (element) ->
imgLoad = imagesLoaded(element)
imgLoad.on 'done', (event) ->
NProgress.done()
imgLoad.on 'progress', (instance, image) ->
inc = instance.images.length/1000
NProgress.inc(inc)
# Document ready
$ ->
# Update messages
window.updateMessages()
# Document load progress bar
window.imageLoad(document)
# Background
#$.vegas
# src: '/static/backgrounds/shelves.jpg'
# fade: 1200
# #complete: -> NProgress.done()
# PJAX
if $.support.pjax
$(document).on 'click', 'a[data-pjax]', (event) ->
elem = $(@)
pjax = elem.data('pjax')
push = true
nav_element = elem.closest('[data-pjax-nav]')
nav_element.siblings('.active').removeClass('active')
nav_element.addClass('active')
if elem.is('[data-pjax-unnav]')
$('[data-pjax-nav].active').removeClass('active')
if elem.is('[pjax-nopush]')
push = false
if not pjax
container = $('[data-pjax-container="main"]')
else if pjax == 'closest'
container = elem.closest('[data-pjax-container]')
else
container = $("[data-pjax-container='#{pjax}']")
$.pjax.click event, {
container: container,
timeout: 5000,
push: push,
scrollTo: false
}
if elem.is('[pjax-messages]')
window._updateMessages = true
# Tooltips
$('[data-toggle="tooltip"]').tooltip();
# Nprogress
$(document).on 'pjax:start', -> NProgress.start()
$(document).on 'pjax:end', (event) ->
window.imageLoad(event.target)
if ga?
ga('send', 'pageview')
if window._updateMessages
window.updateMessages()