(function($) {
$(document).ready(function() {
var basePath = Drupal.settings.basePath;
var modPath = basePath + "textbook_companion_fixer/";
var modPath1 = basePath + "textbook_companion_fixer/aicte/book/";
$category = $("#fix-tbc-form #edit-category");
$book = $("#fix-tbc-form #edit-book");
$chapter = $("#fix-tbc-form #edit-chapter");
$example = $("#fix-tbc-form #edit-example");
$caption = $("#fix-tbc-form #edit-caption");
$code = $("#fix-tbc-form #edit-code");
$caption_form = $("#scilab-fixer-caption-form");
$code_form = $("#scilab-fixer-code-form");
$updating = $("#fix-tbc-page #updating");
$done = $("#fix-tbc-page #done");
$example.attr("multiple", "enabled");
function reset() {
for (var i = 0, l = arguments.length; i < l; i++) {
switch (arguments[i]) {
case "book":
$book.html("");
break;
case "chapter":
$chapter.html("");
break;
case "example":
$example.html("");
break;
case "caption":
$caption.val("");
break;
}
}
}
$(".select-book").hide();
$(".select-chapter").hide();
$(".enter-chapter-name").hide();
$(".chapter-example-chk").hide();
$(".select-example").hide();
$(".enter-caption").hide();
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
$category.change(function() {
reset("book", "chapter", "example", "caption");
var category_id = $(this).val();
if (category_id < 1) {
$(".select-book").hide();
$(".select-chapter").hide();
$(".enter-chapter-name").hide();
$(".select-example").hide();
$(".enter-caption").hide();
$(".chapter-example-chk").hide();
$(".example-code-edit").hide();
(".well").hide();
$(".update-button").hide();
} else {
$(".select-book").show();
$(".select-chapter").hide();
$(".enter-chapter-name").hide();
$(".chapter-example-chk").hide();
$(".select-example").hide();
$(".enter-caption").hide();
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
}
$.ajax({
url: modPath + "ajax/category/" + category_id,
type: "POST",
dataType: "html",
success: function(data) {
$book.html(data);
}
});
});
$book.change(function() {
reset("chapter", "example", "caption");
var book_id = $(this).val();
if (book_id < 1) {
$(".select-chapter").hide();
$(".select-example").hide();
$(".enter-caption").hide();
$(".enter-chapter-name").hide();
$(".chapter-example-chk").hide();
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
} else {
$(".select-chapter").show();
$(".select-example").hide();
$(".enter-chapter-name").hide();
$(".chapter-example-chk").hide();
$(".enter-caption").hide();
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
}
$.ajax({
url: modPath + "ajax/book/" + book_id,
type: "POST",
dataType: "html",
success: function(data) {
$chapter.html(data);
}
});
});
$chapter.change(function() {
reset("example", "caption");
var chapter_name = $('option:selected', this).attr("data-chaptername");
var chapter_id = $(this).val();
if (chapter_id < 1) {
$(".select-example").hide();
$(".enter-caption").hide();
$(".enter-chapter-name").hide();
$(".chapter-example-chk").hide();
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
} else {
$(".select-example").show();
$(".enter-chapter-name").show();
$(".chapter-example-chk").show();
$("#edit-chapter-name").val(chapter_name);
$(".enter-caption").hide();
$(".example-code-edit").hide();
$(".update-button").show();
}
$.ajax({
url: modPath + "ajax/chapter/" + chapter_id,
type: "POST",
dataType: "html",
success: function(data) {
$example.html(data);
}
});
});
$example.change(function() {
reset("caption");
var example_id = $(this).val();
var example_name = $('option:selected', this).attr("data-exampleid");
var example_caption = $(this).text();
if (example_id < 1) {
$(".enter-caption").hide();
// $("#edit-caption").val("");
$(".example-code-edit").hide();
$(".well").hide();
$(".update-button").hide();
} else {
$(".enter-caption").show();
$("#edit-caption").val(example_name);
$(".example-code-edit").show();
$(".well").show();
$(".update-button").show();
}
$.ajax({
url: modPath + "ajax/example/" + example_id,
type: "POST",
dataType: "html",
success: function(data) {
var code = $(data).filter("#code").html();
/* checking whether it is for .well or textarea */
if ($code.hasClass("fix-caption-code")) {
$code.html(code);
} else {
$code.val(code);
}
var caption = $(data).filter("#caption").html();
try {
$caption.val(caption);
} catch (e) {
return;
}
}
});
});
//edit caption form submit
$caption_form.submit(function(e) {
var example_id = $example.val();
var chapter_id = $('option:selected', $chapter).attr("data-chapterid");
if ($('.chapter-caption-chk').prop('checked') == true && $(
'.example-caption-chk').prop('checked') == true) {
if (example_id != "0" && chapter_id != "0") {
var caption = $caption.val();
caption = caption.trim();
caption = caption.replace(/\s\s+/g, ' ');
if(validateCaption(caption) == true) {
alert('Enter valid text for example caption');
return false;
}
var chapter_caption = $("#edit-chapter-name").val();
chapter_caption = chapter_caption.trim();
chapter_caption = caption.replace(/\s\s+/g, ' ');
if(validateCaption(chapter_caption) == true) {
alert('Enter valid text for chapter caption');
return false;
}
if (caption == '' || chapter_caption =='') {
alert('Please enter new caption ');
return false;
}
$updating.show();
$.ajax({
url: modPath + "ajax/update-both/",
type: "POST",
data: {
example_id: example_id,
caption: caption,
chapter_id: chapter_id,
chapter_caption: chapter_caption
},
dataType: "html",
success: function(data) {
$chapter.trigger("change");
$book.trigger("change");
$updating.hide();
$done.show();
$done.fadeOut("slow");
}
});
} else {
alert("No entry is selected.")
}
} else if ($('.example-caption-chk').prop('checked') == true) {
if (example_id != "0") {
var caption = $caption.val();
caption = caption.trim();
caption = caption.replace(/\s\s+/g, ' ');
if(validateCaption(caption) == true) {
alert('Enter valid text');
return false;
}
if (caption == '') {
alert('Please enter new caption ');
return false;
}
$updating.show();
$.ajax({
url: modPath + "ajax/update-example/",
type: "POST",
data: {
example_id: example_id,
caption: caption
},
dataType: "html",
success: function(data) {
$chapter.trigger("change");
$updating.hide();
$done.show();
$done.fadeOut("slow");
}
});
} else {
alert("No example selected.")
}
} else if ($('.chapter-caption-chk').prop('checked') == true) {
if (chapter_id != "0") {
var chapter_caption = $("#edit-chapter-name").val();
chapter_caption = chapter_caption.trim();
chapter_caption = caption.replace(/\s\s+/g, ' ');
if(validateCaption(chapter_caption) == true) {
alert('Enter valid text for chapter caption');
return false;
}
if (chapter_caption == '') {
alert('Please enter new caption ');
return false;
}
$updating.show();
$.ajax({
url: modPath + "ajax/update-chapter/",
type: "POST",
data: {
chapter_id: chapter_id,
chapter_caption: chapter_caption
},
dataType: "html",
success: function(data) {
$chapter.trigger("change");
$book.trigger("change");
$updating.hide();
$done.show();
$done.fadeOut("slow");
}
});
} else {
alert("No example selected.")
}
} else {
alert("Please select the checkbox option")
}
e.preventDefault();
});
$code_form.submit(function(e) {
var example_id = $example.val();
if (example_id != "0") {
var code = $code.val();
code = code.trim();
if (code == '') {
alert('Please enter new code');
return false;
}
$.ajax({
url: modPath + "ajax/code/" + example_id,
type: "POST",
data: {
code: code
},
dataType: "html",
success: function(data) {
$chapter.trigger("change");
$updating.hide();
$done.show();
$done.fadeOut("slow");
$(".example-code-edit").show();
}
});
} else {
alert("No example selected.")
}
e.preventDefault();
});
$Selected = $(".selected");
$Selected.click(function(e) {
$(".sync-msg").remove();
$(this).after("Saving...");
$.ajax({
url: modPath1 + "ajax/selected/" + $(this).attr("data-bid"),
success: function() {
$(".sync-msg").remove();
console.log("success");
}
});
});
function validateCaption(text){
var re = /([a-zA-Z|*|_|.|+|-|\\|?|/|!|~|!|@|#|$|%|^|&|(|)|<|>|{|}|;|:|\"|\'|,])\1{2,}/;
return re.test(text);
}
/* toggle in edition */
$ind_ed = $(".ind-ed");
$ind_ed.click(function(e) {
var aicte_id = $(this).attr("data-aicte");
$t = $(this);
$.ajax({
url: modPath + "ajax/ind-ed/" + aicte_id,
type: "GET",
dataType: "html",
success: function(data) {
$tr = $t.parents("tr:first");
if ($tr.hasClass("orange")) {
$t.parents("tr:first").removeClass("orange");
$t.html("Mark");
} else {
$t.parents("tr:first").addClass("orange");
$t.html("Unmark");
}
},
});
e.preventDefault();
});
});
})(jQuery);