extensions/net.sf.basedb.reggie/trunk/resources/batch/frozen-tissue-date.js

Code
Comments
Other
Rev Date Author Line
3488 16 Sep 15 nicklas 1 var FrozenTissueDate = function()
3488 16 Sep 15 nicklas 2 {
3488 16 Sep 15 nicklas 3   var ftd = {};
3488 16 Sep 15 nicklas 4   var debug = 0;
3488 16 Sep 15 nicklas 5   
4806 14 May 18 nicklas 6   var warnings;
3488 16 Sep 15 nicklas 7
3488 16 Sep 15 nicklas 8   ftd.initPage = function()
3488 16 Sep 15 nicklas 9   {
3488 16 Sep 15 nicklas 10     // Step 1
3488 16 Sep 15 nicklas 11     Events.addEventHandler('step-1', 'wizard-validate', ftd.validateStep1);
3488 16 Sep 15 nicklas 12     Wizard.initFileSelectionField('importfile');
3488 16 Sep 15 nicklas 13     
3488 16 Sep 15 nicklas 14     // Navigation
3488 16 Sep 15 nicklas 15     Buttons.addClickHandler('gocancel', Wizard.cancelWizard);
3488 16 Sep 15 nicklas 16     Buttons.addClickHandler('gorestart', Wizard.restartWizard);
3488 16 Sep 15 nicklas 17     Buttons.addClickHandler('goimport', Wizard.goRegister);
4806 14 May 18 nicklas 18     Buttons.addClickHandler('showAllWarnings', ftd.showAllWarnings);
4806 14 May 18 nicklas 19     
3488 16 Sep 15 nicklas 20     // Final registration
3488 16 Sep 15 nicklas 21     Events.addEventHandler('wizard', 'wizard-submit', ftd.submit);
3488 16 Sep 15 nicklas 22
3488 16 Sep 15 nicklas 23     Doc.show('step-1');
3488 16 Sep 15 nicklas 24     Doc.show('goimport');
3488 16 Sep 15 nicklas 25   }
3488 16 Sep 15 nicklas 26   
3488 16 Sep 15 nicklas 27   ftd.validateStep1 = function(event)
3488 16 Sep 15 nicklas 28   {
3488 16 Sep 15 nicklas 29     var valid = true;
3488 16 Sep 15 nicklas 30     valid &= Wizard.isValid('importfile');
3488 16 Sep 15 nicklas 31     if (!valid) event.preventDefault();
3488 16 Sep 15 nicklas 32   }
3488 16 Sep 15 nicklas 33
3488 16 Sep 15 nicklas 34   ftd.submit = function()
3488 16 Sep 15 nicklas 35   {
3488 16 Sep 15 nicklas 36     var frm = document.forms['reggie'];
3488 16 Sep 15 nicklas 37     
3488 16 Sep 15 nicklas 38     var url = '../Import.servlet?ID='+App.getSessionId();
3488 16 Sep 15 nicklas 39     url += '&cmd=ImportFrozenTissueDate';
3488 16 Sep 15 nicklas 40     url += '&file='+encodeURIComponent(frm.importfile.value);
3916 02 May 16 nicklas 41     url += '&progressbar=import-frozen-tissue-progress';
3488 16 Sep 15 nicklas 42     
3916 02 May 16 nicklas 43     Wizard.showLoadingAnimation('Importing FrozenTissueDate...', 'import-frozen-tissue-progress');
3488 16 Sep 15 nicklas 44     Wizard.asyncJsonRequest(url, ftd.submissionResults, 'POST');
3488 16 Sep 15 nicklas 45   }
3488 16 Sep 15 nicklas 46   
3488 16 Sep 15 nicklas 47   ftd.submissionResults = function(response)
3488 16 Sep 15 nicklas 48   {
3488 16 Sep 15 nicklas 49     Wizard.showFinalMessage(response.messages);
4806 14 May 18 nicklas 50     
4806 14 May 18 nicklas 51     warnings = response.warnings;
4806 14 May 18 nicklas 52     
4806 14 May 18 nicklas 53     var oldWarnings = 0;
4806 14 May 18 nicklas 54     if (warnings && warnings.length)
3488 16 Sep 15 nicklas 55     {
4806 14 May 18 nicklas 56       oldWarnings = ftd.createWarningsTable(warnings);
4806 14 May 18 nicklas 57       if (oldWarnings > 0)
4512 31 May 17 nicklas 58       {
4806 14 May 18 nicklas 59         Doc.show('showAllWarnings');
4512 31 May 17 nicklas 60       }
4806 14 May 18 nicklas 61     }
4806 14 May 18 nicklas 62     
4806 14 May 18 nicklas 63     Doc.show('gorestart');
4806 14 May 18 nicklas 64   }
4806 14 May 18 nicklas 65
4806 14 May 18 nicklas 66   ftd.createWarningsTable = function(warnings)
4806 14 May 18 nicklas 67   {
4806 14 May 18 nicklas 68     var html = '';
4806 14 May 18 nicklas 69     var numOldWarnings = 0;
4806 14 May 18 nicklas 70     for (var warningNo = 0; warningNo < warnings.length; warningNo++)
4806 14 May 18 nicklas 71     {
4806 14 May 18 nicklas 72       var warning = warnings[warningNo];
4806 14 May 18 nicklas 73       if (!warning.isNew) numOldWarnings++;
4806 14 May 18 nicklas 74       html += '<tr class="highlight '+(warning.isNew ? 'newwarning' : 'oldwarning')+'">';
4806 14 May 18 nicklas 75       html += '<td>'+warning.line+'</td>';
4806 14 May 18 nicklas 76       html += '<td>'+Strings.encodeTags(warning.reason)+'</td>';
4806 14 May 18 nicklas 77       html += '<td>'+Strings.encodeTags(warning.provId);
4806 14 May 18 nicklas 78       if (warning.caseName)
4512 31 May 17 nicklas 79       {
4806 14 May 18 nicklas 80         html += '<img class="link case-summary" data-name="'+Strings.encodeTags(warning.caseName)+'" src="../images/case_summary.png">';
4512 31 May 17 nicklas 81       }
4806 14 May 18 nicklas 82       html += '</td>';
4806 14 May 18 nicklas 83       html += '<td>'+Strings.encodeTags(warning.comment)+'</td>';
4806 14 May 18 nicklas 84       html += '</tr>';
4806 14 May 18 nicklas 85     }
4806 14 May 18 nicklas 86     Doc.element('import-warnings').innerHTML = html;
4806 14 May 18 nicklas 87     
4806 14 May 18 nicklas 88     var cs = document.getElementsByClassName('case-summary');
4806 14 May 18 nicklas 89     for (var i = 0; i < cs.length; i++)
4806 14 May 18 nicklas 90     {
5019 10 Oct 18 nicklas 91       Events.addEventHandler(cs[i], 'click', Reggie.openCaseSummaryPopupOnEvent);
4806 14 May 18 nicklas 92     }
4806 14 May 18 nicklas 93     
4806 14 May 18 nicklas 94     if (numOldWarnings < warnings.length)
4806 14 May 18 nicklas 95     {
4806 14 May 18 nicklas 96       // There is at least one new warning
4512 31 May 17 nicklas 97       Doc.show('warnings-section');
3488 16 Sep 15 nicklas 98     }
4806 14 May 18 nicklas 99
4806 14 May 18 nicklas 100     return numOldWarnings;
3488 16 Sep 15 nicklas 101   }
4806 14 May 18 nicklas 102   
4806 14 May 18 nicklas 103   ftd.showAllWarnings = function()
4806 14 May 18 nicklas 104   {
4806 14 May 18 nicklas 105     Doc.hide('showAllWarnings');
4806 14 May 18 nicklas 106     Doc.show('warnings-section');
4806 14 May 18 nicklas 107     Doc.removeClass('warnings-section', 'hide-old-warnings');
4806 14 May 18 nicklas 108   }
4806 14 May 18 nicklas 109   
3488 16 Sep 15 nicklas 110   return ftd;
3488 16 Sep 15 nicklas 111 }();
3488 16 Sep 15 nicklas 112
3488 16 Sep 15 nicklas 113 Doc.onLoad(FrozenTissueDate.initPage);
3488 16 Sep 15 nicklas 114