     $(document).on 'beatmap:search:start.beatmaps', @search
     $(document).on 'beatmap:search:done.beatmaps', @hideLoader
     $(document).on 'beatmap:search:filtered.beatmaps', @updateFilters
+    $(document).on 'turbolinks:before-visit.beatmaps', @recordUrl
     $(document).on 'turbolinks:before-cache.beatmaps', @saveState
 
 

        loading: false


  saveState: =>
    @props.container.dataset.reactState = JSON.stringify state: @state, url: location.href
    @componentWillUnmount()



  constructor: (props) ->
    super props

    @url = location.href
    @xhr = {}

    prevState = JSON.parse(props.container.dataset.reactState ? '{}')

    @state = prevState.state if prevState.url == location.href
    @state ?= _.extend
      beatmaps: @props.beatmaps
      paging:
