extensions/net.sf.basedb.reggie/trunk/resources/libprep/rna_dilution_registration.js

Code
Comments
Other
Rev Date Author Line
2664 15 Sep 14 nicklas 1 var RNAreg = function()
2664 15 Sep 14 nicklas 2 {
2664 15 Sep 14 nicklas 3   var rnareg = {};
2702 26 Sep 14 nicklas 4   var debug = 0;
2664 15 Sep 14 nicklas 5
2664 15 Sep 14 nicklas 6   // Page initialization
2664 15 Sep 14 nicklas 7   rnareg.initPage = function()
2664 15 Sep 14 nicklas 8   {
2664 15 Sep 14 nicklas 9     // Step 1
3040 15 Dec 14 nicklas 10     Events.addEventHandler('bioplate', 'change', rnareg.bioPlateOnChange);
2664 15 Sep 14 nicklas 11     Events.addEventHandler('step-1', 'wizard-validate', rnareg.validateStep1);
2664 15 Sep 14 nicklas 12     
2664 15 Sep 14 nicklas 13     // Step 2
2664 15 Sep 14 nicklas 14     Events.addEventHandler('step-2', 'wizard-initialize', rnareg.initializeStep2);
2664 15 Sep 14 nicklas 15     Events.addEventHandler('step-2', 'wizard-validate', rnareg.validateStep2);
2664 15 Sep 14 nicklas 16     Events.addEventHandler('dilutionDate', 'blur', Wizard.validateDate);
2664 15 Sep 14 nicklas 17     
2664 15 Sep 14 nicklas 18     // Navigation
2664 15 Sep 14 nicklas 19     Buttons.addClickHandler('gocancel', Wizard.cancelWizard);
2664 15 Sep 14 nicklas 20     Buttons.addClickHandler('gorestart', Wizard.restartWizard);
2664 15 Sep 14 nicklas 21     Buttons.addClickHandler('gonext', Wizard.goNextOnClick);
2664 15 Sep 14 nicklas 22     Buttons.addClickHandler('goregister', Wizard.goRegister);
2664 15 Sep 14 nicklas 23     
2664 15 Sep 14 nicklas 24     // Final registration
2664 15 Sep 14 nicklas 25     Events.addEventHandler('wizard', 'wizard-submit', rnareg.submit);
2664 15 Sep 14 nicklas 26     
2664 15 Sep 14 nicklas 27     var url = '../MRna.servlet?ID='+App.getSessionId();
2664 15 Sep 14 nicklas 28     url += '&cmd=GetUnprocessedPlates&plateType=MRNA&onlyUndiluted=1';    
2664 15 Sep 14 nicklas 29     Wizard.showLoadingAnimation('Loading mRNA plates...');
2664 15 Sep 14 nicklas 30     Wizard.asyncJsonRequest(url, rnareg.initializeStep1);
2664 15 Sep 14 nicklas 31   }
2664 15 Sep 14 nicklas 32
2664 15 Sep 14 nicklas 33
2664 15 Sep 14 nicklas 34   rnareg.initializeStep1 = function(response)
2664 15 Sep 14 nicklas 35   {
2664 15 Sep 14 nicklas 36     var frm = document.forms['reggie'];
2664 15 Sep 14 nicklas 37     var bioplates = response.bioplates;
2664 15 Sep 14 nicklas 38     
2664 15 Sep 14 nicklas 39     var plates = frm.bioplate;
2664 15 Sep 14 nicklas 40     if (bioplates.length > 0)
2664 15 Sep 14 nicklas 41     {
2664 15 Sep 14 nicklas 42       for (var i=0; i < bioplates.length; i++)
2664 15 Sep 14 nicklas 43       {
2664 15 Sep 14 nicklas 44         var bioplate = bioplates[i];
2664 15 Sep 14 nicklas 45         var option = new Option(bioplate.name, bioplate.id);
2664 15 Sep 14 nicklas 46         option.plate = bioplate;
2664 15 Sep 14 nicklas 47         plates.options[plates.length] = option;
2664 15 Sep 14 nicklas 48       }
2664 15 Sep 14 nicklas 49       bioplateIsValid = true;
2664 15 Sep 14 nicklas 50       Wizard.setInputStatus('bioplate', 'valid');
2664 15 Sep 14 nicklas 51       rnareg.bioPlateOnChange();
2664 15 Sep 14 nicklas 52     }
2664 15 Sep 14 nicklas 53     else
2664 15 Sep 14 nicklas 54     {
2664 15 Sep 14 nicklas 55       Wizard.setFatalError('No mRNA bioplates available for processing.');
2664 15 Sep 14 nicklas 56       return;
2664 15 Sep 14 nicklas 57     }
2664 15 Sep 14 nicklas 58
2664 15 Sep 14 nicklas 59     Doc.show('step-1');
2664 15 Sep 14 nicklas 60     Doc.show('gonext');
2664 15 Sep 14 nicklas 61     frm.bioplate.focus();
2664 15 Sep 14 nicklas 62
2664 15 Sep 14 nicklas 63   }
2664 15 Sep 14 nicklas 64   
2664 15 Sep 14 nicklas 65   rnareg.bioPlateOnChange = function()
2664 15 Sep 14 nicklas 66   {
2664 15 Sep 14 nicklas 67     var frm = document.forms['reggie'];
3040 15 Dec 14 nicklas 68     var bioplate = frm.bioplate[frm.bioplate.selectedIndex].plate;
3040 15 Dec 14 nicklas 69     Doc.element('comments-info').innerHTML = Strings.encodeTags(bioplate.comments);
2664 15 Sep 14 nicklas 70   }
2664 15 Sep 14 nicklas 71
2664 15 Sep 14 nicklas 72
2664 15 Sep 14 nicklas 73   rnareg.validateStep1 = function()
2664 15 Sep 14 nicklas 74   {}
2664 15 Sep 14 nicklas 75   
2664 15 Sep 14 nicklas 76   rnareg.initializeStep2 = function()
2664 15 Sep 14 nicklas 77   {
2664 15 Sep 14 nicklas 78     var frm = document.forms['reggie'];  
3040 15 Dec 14 nicklas 79     frm.comments.value = frm.bioplate[frm.bioplate.selectedIndex].plate.comments;
2664 15 Sep 14 nicklas 80     Wizard.setCurrentStep(2);
2664 15 Sep 14 nicklas 81     Doc.show('goregister');
2664 15 Sep 14 nicklas 82     Doc.show('gocancel');
2664 15 Sep 14 nicklas 83     frm.dilutionDate.focus();
2664 15 Sep 14 nicklas 84   }
2664 15 Sep 14 nicklas 85
2664 15 Sep 14 nicklas 86   rnareg.validateStep2 = function(event)
2664 15 Sep 14 nicklas 87   {
2664 15 Sep 14 nicklas 88     if (!Wizard.isValid('dilutionDate')) 
2664 15 Sep 14 nicklas 89     {
2664 15 Sep 14 nicklas 90       event.preventDefault();
2664 15 Sep 14 nicklas 91     }
2664 15 Sep 14 nicklas 92   }
2664 15 Sep 14 nicklas 93   
2664 15 Sep 14 nicklas 94   rnareg.submit = function()
2664 15 Sep 14 nicklas 95   {
2664 15 Sep 14 nicklas 96     var frm = document.forms['reggie'];
2664 15 Sep 14 nicklas 97     
2664 15 Sep 14 nicklas 98     var submitInfo = {};
2664 15 Sep 14 nicklas 99     submitInfo.bioplate = parseInt(frm.bioplate.value, 10);
2664 15 Sep 14 nicklas 100     submitInfo.dilutionDate = frm.dilutionDate.value;
2664 15 Sep 14 nicklas 101     submitInfo.dilutionOperator = frm.dilutionOperator.value;
2664 15 Sep 14 nicklas 102     submitInfo.comments = frm.comments.value;
2664 15 Sep 14 nicklas 103     
2664 15 Sep 14 nicklas 104     var url = '../MRna.servlet?ID='+App.getSessionId();
2664 15 Sep 14 nicklas 105     url += '&cmd=RegisterRNADilution';
2664 15 Sep 14 nicklas 106     Wizard.showLoadingAnimation('Performing registration...');
2664 15 Sep 14 nicklas 107     Wizard.asyncJsonRequest(url, rnareg.submissionResults, 'POST', JSON.stringify(submitInfo));
2664 15 Sep 14 nicklas 108   }
2664 15 Sep 14 nicklas 109
2664 15 Sep 14 nicklas 110   rnareg.submissionResults = function(response)
2664 15 Sep 14 nicklas 111   {
2664 15 Sep 14 nicklas 112     Wizard.showFinalMessage(response.messages);
2664 15 Sep 14 nicklas 113     Doc.show('gorestart');
2664 15 Sep 14 nicklas 114   }
2664 15 Sep 14 nicklas 115
2664 15 Sep 14 nicklas 116   return rnareg;
2664 15 Sep 14 nicklas 117 }();
2664 15 Sep 14 nicklas 118
2664 15 Sep 14 nicklas 119 Doc.onLoad(RNAreg.initPage);
2664 15 Sep 14 nicklas 120