lib/assets/javascripts/wiselinks.js.coffee in wiselinks-0.5.2 vs lib/assets/javascripts/wiselinks.js.coffee in wiselinks-0.5.3

- old
+ new

@@ -12,10 +12,11 @@ throw "Load jQuery to use Wiselinks" unless window.jQuery? self = this @options = jQuery.extend(self._defaults(), @options); + @template_id = new Date().getTime() if self.enabled() @assets_digest = $("meta[name='assets-digest']").attr("content") if History.emulated.pushState && @options.html4 == true @@ -26,13 +27,16 @@ self._call(window.location.hash.substring(2)) History.Adapter.bind( window, "statechange" - (event, data) -> - state = History.getState() - self._call(state.url, state.data.target, state.data.render) + (event, data) -> + state = History.getState() + if self._template_id_changed(state) + self._call(state.url, null, 'template') + else + self._call(state.url, state.data.target, state.data.render) ) $(document).on( "submit", "form[data-push], form[data-replace]" (event) -> @@ -55,14 +59,15 @@ enabled: -> !History.emulated.pushState || @options.html4 == true load: (url, target, render = 'template') -> - History.pushState({ timestamp: (new Date().getTime()), render: render, target: target }, document.title, url ) + @template_id = new Date().getTime() if render != 'partial' + History.pushState({ template_id: @template_id, render: render, target: target }, document.title, url ) - reload: () -> - History.replaceState({ timestamp: (new Date().getTime()), render: 'template' }, document.title, History.getState().url ) + reload: () -> + History.replaceState({ template_id: @template_id, render: 'template' }, document.title, History.getState().url ) _defaults: -> html4: true html4_root_path: '/' @@ -154,9 +159,12 @@ _non_standard_click: (event) -> event.metaKey || event.ctrlKey || event.shiftKey || event.altKey _assets_changed: (digest) -> @assets_digest? && @assets_digest != digest + + _template_id_changed: (state) -> + !state.data.template_id? || state.data.template_id != @template_id _set_title: (xhr) -> value = xhr.getResponseHeader('X-Wiselinks-Title') document.title = decodeURI(value) if value? \ No newline at end of file