annotate plugins/redmine_bibliography/assets/javascripts/authors.js @ 1281:e9bfba17e791 redmine-2.2-integration

changes to the authors search ajax (not finished).
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Fri, 10 May 2013 17:59:12 +0100
parents f8bb7ccc6fac
children 8d30e7644b75
rev   line source
luis@1278 1 function add_author_fields(link, association, content, action) {
luis@1278 2 var new_id = new Date().getTime();
luis@1278 3 var regexp = new RegExp("new_" + association, "g");
luis@1278 4
luis@1278 5 $(link).before(content.replace(regexp, new_id));
luis@1278 6
luis@1278 7 if(action != "new"){
luis@1278 8 toggle_save_author(new_id, $(link));
luis@1278 9 }
luis@469 10 }
luis@469 11
luis@1278 12 function remove_fields(link) {
luis@1278 13 $(link).prev("input[type=hidden]").val("1");
luis@1278 14 $(link).closest(".fields").hide();
luis@481 15 }
luis@481 16
luis@1281 17 $(".author_search").live('keyup.autocomplete', function(){
luis@1281 18 $this = $(this);
luis@1281 19
luis@1281 20 $.ajax({
luis@1281 21 type: "POST",
luis@1281 22 url: "/publications/autocomplete_for_author",
luis@1281 23 dataType: "json",
luis@1281 24 data: {
luis@1281 25 q: $this.val()
luis@1281 26 },
luis@1281 27
luis@1281 28 success: function(data, type) {
luis@1281 29 console.log("OK: " + data);
luis@1281 30 items = data;
luis@1281 31 response(items);
luis@1281 32 },
luis@1281 33
luis@1281 34 error: function(data, type){
luis@1281 35 console.log("ERROR: " + type);
luis@1281 36 }
luis@1281 37 });
luis@1281 38 });
luis@1281 39
luis@1281 40
luis@600 41 function identify_author_status(status, object_id) {
chris@623 42 $('publication_authorships_attributes_' + object_id + '_edit_author_info').select('input').each(function(s) {
chris@623 43 if(status == "no"){
chris@623 44 s.value = "";
chris@623 45 s.readOnly = false;
chris@623 46 };
luis@1277 47
chris@623 48 if(status == "correct"){s.readOnly = false;};
chris@623 49 if(status == "yes"){s.readOnly = true;};
chris@623 50 });
luis@600 51 }
luis@603 52
luis@1277 53 function toggle_div(div_id){
chris@623 54 Effect.toggle(div_id, "appear", {duration:0.3});
luis@603 55 }
luis@603 56
luis@1277 57 function toggle_input_field(field){
chris@623 58 if (field.classNames().inspect().include("readonly") == false){
luis@1277 59 field.readOnly = true;
luis@675 60 field.addClassName('readonly');
chris@623 61 } else {
luis@675 62 field.readOnly = false;
luis@675 63 field.removeClassName('readonly');
luis@1277 64 };
luis@603 65 }
luis@603 66
luis@605 67 function toggle_edit_save_button(object_id){
chris@623 68 $button = $('publication_authorships_attributes_' + object_id + '_edit_save_button');
chris@623 69 if ($button.value == "Edit author"){
chris@623 70 $button.value = "Save author";
chris@623 71 } else {
chris@623 72 $button.value = "Edit author";
chris@623 73 };
luis@605 74 }
luis@605 75
luis@605 76 function toggle_save_author(form_object_id, $this){
chris@623 77 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('input').each(function(s) {
chris@623 78 toggle_input_field(s, $this);
chris@623 79 });
chris@624 80 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('p.description').each(function(s) {
chris@623 81 s.toggle();
chris@623 82 });
chris@623 83 toggle_edit_save_button(form_object_id);
chris@623 84 toggle_div("publication_authorships_attributes_" + form_object_id +"_search_author");
luis@1277 85 }