extensions/net.sf.basedb.reggie/trunk/resources/sampleproc/pause-settings.js

Code
Comments
Other
Rev Date Author Line
5344 02 Apr 19 nicklas 1 var PauseSettings = function()
5344 02 Apr 19 nicklas 2 {
5344 02 Apr 19 nicklas 3   var pause = {};
5344 02 Apr 19 nicklas 4   var debug = 0;
5344 02 Apr 19 nicklas 5   var sites;
5344 02 Apr 19 nicklas 6
5344 02 Apr 19 nicklas 7   // Page initialization
5344 02 Apr 19 nicklas 8   pause.initPage = function()
5344 02 Apr 19 nicklas 9   {
5344 02 Apr 19 nicklas 10     Buttons.addClickHandler('close', App.closeWindow);
5344 02 Apr 19 nicklas 11     Buttons.addClickHandler('btnSave', pause.saveSettings);
5344 02 Apr 19 nicklas 12
5344 02 Apr 19 nicklas 13     var url = '../SpecimenTubeRegistration.servlet?ID='+App.getSessionId();
5344 02 Apr 19 nicklas 14     url += '&cmd=GetPauseSettings';
5344 02 Apr 19 nicklas 15     Wizard.showLoadingAnimation('Loading pause settings...');
5344 02 Apr 19 nicklas 16     Wizard.asyncJsonRequest(url, pause.onSettingsLoaded);
5344 02 Apr 19 nicklas 17   }
5344 02 Apr 19 nicklas 18
5344 02 Apr 19 nicklas 19   pause.onSettingsLoaded = function(response)
5344 02 Apr 19 nicklas 20   {
5344 02 Apr 19 nicklas 21     sites = response.sites;
5344 02 Apr 19 nicklas 22     var html = '';
5344 02 Apr 19 nicklas 23     for (var siteNo = 0; siteNo < sites.length; siteNo++)
5344 02 Apr 19 nicklas 24     {
5344 02 Apr 19 nicklas 25       var site = sites[siteNo];
5344 02 Apr 19 nicklas 26       var id = 'site.'+site.prefix;
5344 02 Apr 19 nicklas 27       html += '<div class="site">'
5344 02 Apr 19 nicklas 28       html += '<input type="checkbox" id="'+id+'" name="'+id+'" ' + (site.paused?'checked':'')+'>';
5344 02 Apr 19 nicklas 29       html += '<label for="'+id+'">'+Strings.encodeTags(site.name)+'</label>';
5344 02 Apr 19 nicklas 30       html += '</div>';
5344 02 Apr 19 nicklas 31     }
5344 02 Apr 19 nicklas 32     Doc.element('siteList').innerHTML = html;
5344 02 Apr 19 nicklas 33   }
5344 02 Apr 19 nicklas 34   
5344 02 Apr 19 nicklas 35   pause.saveSettings = function()
5344 02 Apr 19 nicklas 36   {
5344 02 Apr 19 nicklas 37     var paused = [];
5344 02 Apr 19 nicklas 38     var frm = document.forms['reggie'];
5344 02 Apr 19 nicklas 39     for (var siteNo = 0; siteNo < sites.length; siteNo++)
5344 02 Apr 19 nicklas 40     {
5344 02 Apr 19 nicklas 41       var site = sites[siteNo];
5344 02 Apr 19 nicklas 42       if (frm['site.'+site.prefix].checked) paused[paused.length] = site.prefix;
5344 02 Apr 19 nicklas 43     }
5344 02 Apr 19 nicklas 44     
5344 02 Apr 19 nicklas 45     var submitInfo = {};
5344 02 Apr 19 nicklas 46     submitInfo.pausedSites = paused;
5344 02 Apr 19 nicklas 47     
5344 02 Apr 19 nicklas 48     var url = '../SpecimenTubeRegistration.servlet?ID='+App.getSessionId();
5344 02 Apr 19 nicklas 49     url += '&cmd=SavePauseSettings';
5344 02 Apr 19 nicklas 50     Wizard.showLoadingAnimation('Saving settings...');
5344 02 Apr 19 nicklas 51     Wizard.asyncJsonRequest(url, pause.submissionResults, 'POST', JSON.stringify(submitInfo));
5344 02 Apr 19 nicklas 52   }
5344 02 Apr 19 nicklas 53   
5344 02 Apr 19 nicklas 54   pause.submissionResults = function(response)
5344 02 Apr 19 nicklas 55   {
5344 02 Apr 19 nicklas 56     var url = App.getRoot() + 'common/close_popup.jsp?ID='+App.getSessionId();
5344 02 Apr 19 nicklas 57     url += '&refresh_opener=1'
5344 02 Apr 19 nicklas 58     if (response.messages.length > 0)
5344 02 Apr 19 nicklas 59     {
5344 02 Apr 19 nicklas 60       url += '&message='+encodeURIComponent(response.messages[0]);
5344 02 Apr 19 nicklas 61     }
5344 02 Apr 19 nicklas 62     location.href = url;
5344 02 Apr 19 nicklas 63
5344 02 Apr 19 nicklas 64   }
5344 02 Apr 19 nicklas 65
5344 02 Apr 19 nicklas 66   return pause;
5344 02 Apr 19 nicklas 67 }();
5344 02 Apr 19 nicklas 68
5344 02 Apr 19 nicklas 69 Doc.onLoad(PauseSettings.initPage);
5344 02 Apr 19 nicklas 70