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@1288
|
24 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.value);
|
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@1284
|
33 $this.closest('div').next().find("input[id$='name_on_paper']").val(ui.item.value);
|
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@1288
|
43 .append( "<a>" + item.institution + "</a>" )
|
luis@1288
|
44 .appendTo( ul );
|
luis@1288
|
45 };
|
luis@1288
|
46 });
|
luis@1281
|
47
|
luis@1284
|
48
|
luis@1284
|
49
|
luis@1284
|
50
|
luis@600
|
51 function identify_author_status(status, object_id) {
|
chris@623
|
52 $('publication_authorships_attributes_' + object_id + '_edit_author_info').select('input').each(function(s) {
|
luis@1277
|
53
|
luis@1284
|
54 if(status == "no"){
|
luis@1284
|
55 s.value = "";
|
luis@1284
|
56 s.readOnly = false;
|
luis@1284
|
57 }
|
luis@1284
|
58
|
luis@1284
|
59 if(status == "correct"){
|
luis@1284
|
60 s.readOnly = false;
|
luis@1284
|
61 }
|
luis@1284
|
62 if(status == "yes"){
|
luis@1284
|
63 s.readOnly = true;
|
luis@1284
|
64 }
|
chris@623
|
65 });
|
luis@600
|
66 }
|
luis@603
|
67
|
luis@1277
|
68 function toggle_div(div_id){
|
luis@1284
|
69 $("#" + div_id).toggle(0.3);
|
luis@603
|
70 }
|
luis@603
|
71
|
luis@1277
|
72 function toggle_input_field(field){
|
luis@1284
|
73 if (field.classNames().inspect().include("readonly") === false){
|
luis@1277
|
74 field.readOnly = true;
|
luis@675
|
75 field.addClassName('readonly');
|
chris@623
|
76 } else {
|
luis@675
|
77 field.readOnly = false;
|
luis@675
|
78 field.removeClassName('readonly');
|
luis@1284
|
79 }
|
luis@603
|
80 }
|
luis@603
|
81
|
luis@605
|
82 function toggle_edit_save_button(object_id){
|
chris@623
|
83 $button = $('publication_authorships_attributes_' + object_id + '_edit_save_button');
|
chris@623
|
84 if ($button.value == "Edit author"){
|
luis@1286
|
85 $button.value = "Save author";
|
chris@623
|
86 } else {
|
luis@1286
|
87 $button.value = "Edit author";
|
luis@1286
|
88 }
|
luis@605
|
89 }
|
luis@605
|
90
|
luis@605
|
91 function toggle_save_author(form_object_id, $this){
|
chris@623
|
92 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('input').each(function(s) {
|
chris@623
|
93 toggle_input_field(s, $this);
|
chris@623
|
94 });
|
chris@624
|
95 $('publication_authorships_attributes_' + form_object_id + '_edit_author_info').select('p.description').each(function(s) {
|
chris@623
|
96 s.toggle();
|
chris@623
|
97 });
|
chris@623
|
98 toggle_edit_save_button(form_object_id);
|
chris@623
|
99 toggle_div("publication_authorships_attributes_" + form_object_id +"_search_author");
|
luis@1277
|
100 } |