Sha256: d6355b7bbc939a886991739150d9722299eabf729c869b62c5c67104f49d16ac

Contents?: true

Size: 1.19 KB

Versions: 7

Compression:

Stored size: 1.19 KB

Contents

###
jQuery.Turbolinks ~ https://github.com/kossnocorp/jquery.turbolinks
jQuery plugin for drop-in fix binded events problem caused by Turbolinks

The MIT License
Copyright (c) 2012-2013 Sasha Koss & Rico Sta. Cruz
###

$ = window.jQuery or require?('jquery')
$document = $(document)

$.turbo =
  version: '2.0.1'

  isReady: false

  # Hook onto the events that Turbolinks triggers.
  use: (load, fetch) ->
    $document
      .off('.turbo')
      .on("#{load}.turbo", @onLoad)
      .on("#{fetch}.turbo", @onFetch)

  addCallback: (callback) ->
    if $.turbo.isReady
      callback($)
    else
      $document.on 'turbo:ready', -> callback($)

  onLoad: ->
    $.turbo.isReady = true
    $document.trigger('turbo:ready')

  onFetch: ->
    $.turbo.isReady = false

  # Registers jQuery.Turbolinks by monkey-patching jQuery's
  # `ready` handler. (Internal)
  #
  # [1] Trigger the stored `ready` events on first load.
  # [2] Override `$(function)` and `$(document).ready(function)` by
  #     registering callbacks under a new event called `turbo:ready`.
  #
  register: ->
    $(@onLoad) #[1]
    $.fn.ready = @addCallback #[2]

# Use with Turbolinks.
$.turbo.register()
$.turbo.use('page:load', 'page:fetch')

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
h2ocube_rails_assets-0.0.29 vendor/assets/javascripts/jquery.turbolinks.coffee
h2ocube_rails_assets-0.0.28 vendor/assets/javascripts/jquery.turbolinks.coffee
h2ocube_rails_assets-0.0.27 vendor/assets/javascripts/jquery.turbolinks.coffee
h2ocube_rails_assets-0.0.26 vendor/assets/javascripts/jquery.turbolinks.coffee
h2ocube_rails_assets-0.0.25 vendor/assets/javascripts/jquery.turbolinks.coffee
h2ocube_rails_assets-0.0.24 vendor/assets/javascripts/jquery.turbolinks.coffee
jquery-turbolinks-2.0.1 src/jquery.turbolinks.coffee