turbolinks
Version:
Turbolinks makes navigating your web application faster
29 lines (24 loc) • 892 B
text/coffeescript
class Turbolinks.Renderer
: (delegate, callback, args...) ->
renderer = new this args...
renderer.delegate = delegate
renderer.render(callback)
renderer
renderView: (callback) ->
.viewWillRender( )
callback()
.viewRendered( )
invalidateView: ->
.viewInvalidated()
createScriptElement: (element) ->
if element.getAttribute("data-turbolinks-eval") is "false"
element
else
createdScriptElement = document.createElement("script")
createdScriptElement.textContent = element.textContent
createdScriptElement.async = false
copyElementAttributes(createdScriptElement, element)
createdScriptElement
copyElementAttributes = (destinationElement, sourceElement) ->
for {name, value} in sourceElement.attributes
destinationElement.setAttribute(name, value)