annotate plugins/redmine_bibliography/assets/javascripts/authors.js @ 1284:3ce07a57ce68 redmine-2.2-integration

Correctly adds the author info to the input fields; corrected toggle function.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Tue, 14 May 2013 15:51:20 +0100
parents 006057cf8f16
children 22551cc54749
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@1284 18 $this = $(this);
luis@1284 19
luis@1284 20 $this.autocomplete({
luis@1282 21 source: '/publications/autocomplete_for_author',
luis@1283 22 minLength: 2,
luis@1283 23 select: function(event, ui){
luis@1284 24 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.value);
luis@1284 25 $this.closest('div').next().find("input[id$='institution']").val(ui.item.institution);
luis@1284 26 $this.closest('div').next().find("input[id$='email']").val(ui.item.email);
luis@1283 27 }
luis@1281 28 });
luis@1281 29 });
luis@1281 30
luis@1284 31
luis@1284 32
luis@1284 33
luis@600 34 function identify_author_status(status, object_id) {
chris@623 35 $('publication_authorships_attributes_' + object_id + '_edit_author_info').select('input').each(function(s) {
luis@1277 36
luis@1284 37 if(status == "no"){
luis@1284 38 s.value = "";
luis@1284 39 s.readOnly = false;
luis@1284 40 }
luis@1284 41
luis@1284 42 if(status == "correct"){
luis@1284 43 s.readOnly = false;
luis@1284 44 }
luis@1284 45 if(status == "yes"){
luis@1284 46 s.readOnly = true;
luis@1284 47 }
chris@623 48 });
luis@600 49 }
luis@603 50
luis@1277 51 function toggle_div(div_id){
luis@1284 52 $("#" + div_id).toggle(0.3);
luis@603 53 }
luis@603 54
luis@1277 55 function toggle_input_field(field){
luis@1284 56 if (field.classNames().inspect().include("readonly") === false){
luis@1277 57 field.readOnly = true;
luis@675 58 field.addClassName('readonly');
chris@623 59 } else {
luis@675 60 field.readOnly = false;
luis@675 61 field.removeClassName('readonly');
luis@1284 62 }
luis@603 63 }
luis@603 64
luis@605 65 function toggle_edit_save_button(object_id){
chris@623 66 $button = $('publication_authorships_attributes_' + object_id + '_edit_save_button');
chris@623 67 if ($button.value == "Edit author"){
chris@623 68 $button.value = "Save author";
chris@623 69 } else {
chris@623 70 $button.value = "Edit author";
chris@623 71 };
luis@605 72 }
luis@605 73
luis@605 74 function toggle_save_author(form_object_id, $this){
chris@623 75 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('input').each(function(s) {
chris@623 76 toggle_input_field(s, $this);
chris@623 77 });
chris@624 78 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('p.description').each(function(s) {
chris@623 79 s.toggle();
chris@623 80 });
chris@623 81 toggle_edit_save_button(form_object_id);
chris@623 82 toggle_div("publication_authorships_attributes_" + form_object_id +"_search_author");
luis@1277 83 }