Sha256: 7c250797cd5a12768ddbeabe33e504a725232c5f77b05cfca7d3954bae20bb18

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

var History = window.History;
var ajaxed = true;

$.ajaxSetup({
  dataType: "html"
});

function ajax_complete_defaults(data){
  $("#main").removeClass('ajax-loader');
  $("#main").html(data);
  bind_functions("#main");
  $('title').html($("#content_for_title").html());
  $("#content_for_title").remove();
  $("meta[name='description']").attr("content",$("#content_for_page_description").html());
  $("#content_for_page_description").remove();
  $("meta[name='keywords']").attr("content",$("#content_for_keywords").html());
  $("#content_for_keywords").remove();
  $('#sidebar').html($("#content_for_sidebar").html());
  $("#content_for_sidebar").remove();
}

$(document).ready(function (){
  $("a[data-remote]").live('ajax:before', function() {
    $("#main").addClass('ajax-loader');
  });

  $("a[data-remote]").live('ajax:complete', function(status, xhr) {
    ajax_complete_defaults(xhr.responseText);
    $($(this).closest('div')).find('.current').removeClass('current');
    $(this).addClass('current');
    ajaxed = true;
    History.pushState(null,'',$(this).attr('href'));
  });

  $(window).bind('statechange',function(){
    if (ajaxed === false ) {
      var url = History.getState().url.replace(History.getRootUrl(),'');
      $.ajax({
        url: url,
        success: [function(data) {History.pushState(null,'',url)},function(data) {ajax_complete_defaults(data);}] 
      });
    } else {
      ajaxed = false;
    }
  });

});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sbdevcore-0.2.2 app/assets/javascripts/sbdev-ajax.js