annotate plugins/redmine_bibliography/assets/javascripts/authors.js @ 1289:7fa299909144 redmine-2.2-integration

fixed a few details.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Tue, 21 May 2013 17:20:52 +0100
parents 7e89ba7fac48
children bb51e86fa182
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@1288 23 focus: function(event, ui) {
luis@1289 24 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.name);
luis@1288 25 $this.closest('div').next().find("input[id$='institution']").val(ui.item.institution);
luis@1288 26 $this.closest('div').next().find("input[id$='email']").val(ui.item.email);
luis@1288 27 $this.closest('div').next().find("input[id$='search_author_class']").val(ui.item.search_author_class);
luis@1288 28 $this.closest('div').next().find("input[id$='search_author_id']").val(ui.item.search_author_id);
luis@1288 29
luis@1288 30 return false;
luis@1288 31 },
luis@1283 32 select: function(event, ui){
luis@1289 33 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.name);
luis@1284 34 $this.closest('div').next().find("input[id$='institution']").val(ui.item.institution);
luis@1284 35 $this.closest('div').next().find("input[id$='email']").val(ui.item.email);
luis@1286 36 $this.closest('div').next().find("input[id$='search_author_class']").val(ui.item.search_author_class);
luis@1286 37 $this.closest('div').next().find("input[id$='search_author_id']").val(ui.item.search_author_id);
luis@1283 38 }
luis@1288 39 })
luis@1288 40 .data( "autocomplete" )._renderItem = function( ul, item ) {
luis@1288 41 return $( "<li></li>" )
luis@1288 42 .data( "item.autocomplete", item )
luis@1289 43 .append( "<a>" + item.label + "</a>" )
luis@1288 44 .appendTo( ul );
luis@1288 45 };
luis@1288 46 });
luis@1281 47
luis@1277 48 function toggle_div(div_id){
luis@1284 49 $("#" + div_id).toggle(0.3);
luis@603 50 }
luis@603 51
luis@605 52 function toggle_save_author(form_object_id, $this){
chris@623 53 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('input').each(function(s) {
chris@623 54 toggle_input_field(s, $this);
chris@623 55 });
chris@624 56 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('p.description').each(function(s) {
chris@623 57 s.toggle();
chris@623 58 });
chris@623 59 toggle_edit_save_button(form_object_id);
chris@623 60 toggle_div("publication_authorships_attributes_" + form_object_id +"_search_author");
luis@1277 61 }