sphinx_django/support/hsbook.js
author amit
Thu, 30 Sep 2010 11:36:30 +0530
changeset 0 54f784230511
permissions -rw-r--r--
Initial commit of django based commenting system for sphinx. Already has most of the boiler plate code.

function qid(id) {
  return id.replace(/([.:])/g, "\\$1");
}

function beforeComment(formData, jqForm, options) {
  var form = jqForm[0];
  if (!form.comment.value) {
    $(options.target + " span.comment_error").empty().append(
      "<span class=\"comment_error\">Your comment is empty</span>");
    return false;
  }
  if (!form.name.value) {
    $(options.target + " span.comment_error").empty().append(
      "<span class=\"comment_error\">Please provide a name</span>");
    return false;
  }
  $(options.target + " span.comment_error").empty().after(
    "<img src=\"/support/icons/throbber.gif\" style=\"vertical-align: middle\"/>");
  $(options.target + " input[@name=submit]").attr("disabled", true);
}

function ajaxifyForm(id) {
  var q = qid(id);
  
  $("#form_" + q).ajaxForm({ beforeSubmit: beforeComment,
			     success: function() { ajaxifyForm(id); },
			     target: "#comments_" + q });
}

function toggleComment(id) {
  $("#toggle_" + qid(id)).nextAll().toggle();
  return false;
}

function loadComments(id) {
  $("#comments_" + qid(id)).load(location.protocol + "//" + location.host +
				 "/comments/single/" + id + "/", function() {
    ajaxifyForm(id);
  });
  return false;
}

function loadAllComments() {
  $("a.commenttoggle").each(function() {
    var id = $(this).attr("pid");
    if (id) {
      loadComments(id);
    }
  });
}


//this part works don't change
// $(document).ready(function() {
//   function loading(id) {
//     return " <span id=\"comments_" + id + "\" class=\"comment\">" +
//       "<span pid=\"" + id + "\" class=\"commenttoggle\">Loading..." +
//       "</span></span>";
//   }
//   $("p")
//     .after("<p style='display: none;'><a onclick='return loadAllComments()'>" +
// 	   "Load all comments (<b>slow</b>)</a></p>")
//     .toggle(function() { $(this).nextAll().show("normal"); },
// 	    function() { $(this).nextAll().hide("normal"); })
//     .hover(function() { $(this).fadeTo("normal", 0.8); },
// 	   function() { $(this).fadeTo("normal", 0.35); });
//    $(".chapter p[@id]").each(function() {
//      $(this).append(loading($(this).attr("id")));
//        }); });
//    // $(".chapter table[@id].equation").each(function() {
//    //   id = $(this).attr("id");
//    //   $("#" + id + " tr").after('<tr><td colspan="4">' + loading($(this).attr("id")) + '</td></tr>');
//    // });
//    // $(".chapter pre[@id]").each(function() {
//    //   $(this).after(loading($(this).attr("id")));
//   //     })    

$(document).ready(function() {
  function loading(id) {
    return " <span id=\"comments_" + id + "\" class=\"comment\">" +
      "<span pid=\"" + id + "\" class=\"commenttoggle\">bleeding..." +
      "</span></span>";
  } 
  $("p")
    .after("<p style='display: none;'><a onclick='return loadAllComments()'>" +
	   "Load all comments (<b>slow</b>)</a></p>")
    .toggle(function() { $(this).nextAll().show("normal"); },
	    function() { $(this).nextAll().hide("normal"); })
    .hover(function() { $(this).fadeTo("normal", 0.8); },
	   function() { $(this).fadeTo("normal", 0.35); });
      
//
  $("p").each(function() {
     $(this).append(loading($(this).attr("id")));
      });
//   // $(".chapter table[@id].equation").each(function() {
//   //   id = $(this).attr("id");
//   //   $("#" + id + " tr").after('<tr><td colspan="4">' + loading($(this).attr("id")) + '</td></tr>');
//   // });
//   // $(".chapter pre[@id]").each(function() {
//   //   $(this).after(loading($(this).attr("id")));
//   //     });
    

//   // var chapid = $("div.preface, div.chapter, div.appendix, div.bibliography").attr("id");
//   // $("#chapterfeed").attr("href",
//   // 			 $("#chapterfeed").attr("href") + chapid + "/");
//   // $.getJSON(location.protocol + "//" + location.host + "/comments/chapter/" +
//   // 	    chapid + "/count/", function(data) {
$("p").onclick(function() {
//   //   //   var s = item == 1 ? "" : "s";
      // $(".chapter p[@id]").each(function() {
       	      $(this).replace(
       	 "<a class='commenttoggle'"+ "href='comments: show / hide'>" +  " comment"+ "</a>"); 
//   //   // 	"pid='" + id + "' " +
//   //   // 	"onclick='return loadComments(\"" + id + "\")' " +
    }); }); 
//   //   });  
// //     $("span.commenttoggle").each(function() {
// //       var id = $(this).attr("pid");
// //       $(this).replaceWith("<a class='commenttoggle' id='toggle_" + id + "' " +
// // 			  "onclick='return loadComments(\"" + id + "\")' " +
// // 			  "href='comment: add'>No comments</a>");
// //     });
// //   });
// // });