annotate vendor/plugins/redmine_bibliography/assets/javascripts/authors.js @ 705:b6f9f005c0b6 feature_36

Fixes Bug #298 - on the New View now toggles the new authorship fields.
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Mon, 19 Sep 2011 17:28:32 +0100
parents 2b665b7e67f4
children 7db874627e11 b52621512b47
rev   line source
luis@469 1 function remove_fields(link) {
chris@623 2 $(link).previous("input[type=hidden]").value = "1";
chris@623 3 $(link).up(".fields").hide();
luis@469 4 }
luis@469 5
luis@705 6 function add_author_fields(link, association, content, action) {
luis@705 7 var new_id = new Date().getTime();
luis@705 8 var regexp = new RegExp("new_" + association, "g");
luis@705 9 $(link).insert({
luis@705 10 before: content.replace(regexp, new_id)
luis@705 11 });
luis@705 12 if(action != "new"){
luis@705 13 toggle_save_author(new_id, $(link));
luis@705 14 };
luis@481 15 }
luis@481 16
luis@600 17 function identify_author_status(status, object_id) {
chris@623 18 $('publication_authorships_attributes_' + object_id + '_edit_author_info').select('input').each(function(s) {
chris@623 19 if(status == "no"){
chris@623 20 s.value = "";
chris@623 21 s.readOnly = false;
chris@623 22 };
chris@623 23
chris@623 24 if(status == "correct"){s.readOnly = false;};
chris@623 25 if(status == "yes"){s.readOnly = true;};
chris@623 26 });
luis@600 27 }
luis@603 28
luis@603 29 function toggle_div(div_id){
chris@623 30 Effect.toggle(div_id, "appear", {duration:0.3});
luis@603 31 }
luis@603 32
luis@605 33 function toggle_input_field(field){
chris@623 34 if (field.classNames().inspect().include("readonly") == false){
luis@675 35 field.readOnly = true;
luis@675 36 field.addClassName('readonly');
chris@623 37 } else {
luis@675 38 field.readOnly = false;
luis@675 39 field.removeClassName('readonly');
chris@623 40 };
luis@603 41 }
luis@603 42
luis@605 43 function toggle_edit_save_button(object_id){
chris@623 44 $button = $('publication_authorships_attributes_' + object_id + '_edit_save_button');
chris@623 45 if ($button.value == "Edit author"){
chris@623 46 $button.value = "Save author";
chris@623 47 } else {
chris@623 48 $button.value = "Edit author";
chris@623 49 };
luis@605 50 }
luis@605 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@603 61 }
luis@603 62
luis@699 63 function hide_all_bibtex_required_fields(){$$('p.bibtex').each(function(s){s.hide()})}
luis@603 64
luis@699 65 // entrytype_fields is a jsno array with the fields requires by the selected bibtex entry
luis@699 66 function show_required_bibtex_fields(entrytype_fields) {
luis@699 67 $$('p.bibtex').each(function(s){
luis@699 68 if(entrytype_fields.indexOf(s.down('input').id.split('_').last()) != -1){
luis@699 69 s.show();
luis@699 70 }
luis@699 71 else {
luis@699 72 s.hide();
luis@699 73 }
luis@684 74 })
luis@684 75 }
luis@675 76