annotate plugins/redmine_bibliography/assets/javascripts/authors.js @ 1393:67abd7b08753 luisf

Adding more information to the autocomplete dropdown (when searching for an author/user in the publication#new/edit views).
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Thu, 26 Sep 2013 11:44:57 +0100
parents d262df85ac97
children 0f918e37e1d6
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@469 6 }
luis@469 7
luis@1278 8 function remove_fields(link) {
luis@1278 9 $(link).prev("input[type=hidden]").val("1");
luis@1278 10 $(link).closest(".fields").hide();
luis@481 11 }
luis@481 12
luis@1281 13 $(".author_search").live('keyup.autocomplete', function(){
luis@1284 14 $this = $(this);
luis@1284 15
luis@1284 16 $this.autocomplete({
luis@1282 17 source: '/publications/autocomplete_for_author',
luis@1283 18 minLength: 2,
luis@1288 19 focus: function(event, ui) {
luis@1393 20 $this.val(ui.item.label);
luis@1288 21 return false;
luis@1288 22 },
luis@1283 23 select: function(event, ui){
luis@1289 24 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.name);
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@1286 27 $this.closest('div').next().find("input[id$='search_author_class']").val(ui.item.search_author_class);
luis@1286 28 $this.closest('div').next().find("input[id$='search_author_id']").val(ui.item.search_author_id);
luis@1283 29 }
luis@1288 30 })
luis@1288 31 .data( "autocomplete" )._renderItem = function( ul, item ) {
luis@1393 32 return $( "<li>" )
luis@1393 33 .data("item.autocomplete", item )
luis@1393 34 .append( "<a>" + item.label + "<br><em>" + item.email + "</em><br>" + item.intitution + "</a>" )
luis@1393 35 .appendTo(ul);
luis@1288 36 };
luis@1288 37 });
luis@1281 38
luis@1292 39
luis@1292 40 $("input[id$='identify_author_yes']").live("click", function() {
luis@1292 41 console.log("aaaa");
luis@1292 42 });
luis@1292 43
luis@1293 44 $("input[id$='identify_author_no']").live("click", function() {
luis@1293 45 $this.closest('div').next().find("input[id$='name_on_paper']").val('');
luis@1293 46 $this.closest('div').next().find("input[id$='institution']").val('');
luis@1293 47 $this.closest('div').next().find("input[id$='email']").val('');
luis@1293 48 $this.closest('div').next().find("input[id$='search_author_class']").val('');
luis@1293 49 });
luis@1292 50