extensions/net.sf.basedb.meludi/trunk/resources/admin/update_start_list_with_lot_numbers_from_extract.js

Code
Comments
Other
Rev Date Author Line
3501 21 Sep 15 olle 1 var updatestartlist = function()
3501 21 Sep 15 olle 2 {
3501 21 Sep 15 olle 3   var updatestartlist = {};
3501 21 Sep 15 olle 4   
3501 21 Sep 15 olle 5   var debug = 0;
3501 21 Sep 15 olle 6   
3501 21 Sep 15 olle 7   // Page initialization
3501 21 Sep 15 olle 8   updatestartlist.initPage = function()
3501 21 Sep 15 olle 9   {
3501 21 Sep 15 olle 10     // Step 1
3501 21 Sep 15 olle 11     Events.addEventHandler('step-1', 'wizard-validate', updatestartlist.validateStep1);
3501 21 Sep 15 olle 12
3501 21 Sep 15 olle 13     // Navigation
3501 21 Sep 15 olle 14     Buttons.addClickHandler('gocancel', Wizard.cancelWizard);
3501 21 Sep 15 olle 15     Buttons.addClickHandler('gorestart', Wizard.restartWizard);
3501 21 Sep 15 olle 16     Buttons.addClickHandler('gonext', Wizard.goNextOnClick);
3501 21 Sep 15 olle 17     Buttons.addClickHandler('goregister', Wizard.goRegister);
3501 21 Sep 15 olle 18     
3501 21 Sep 15 olle 19     // Final registration
3501 21 Sep 15 olle 20     Events.addEventHandler('wizard', 'wizard-submit', updatestartlist.submit);
3501 21 Sep 15 olle 21
3501 21 Sep 15 olle 22     var url = '../Extraction.servlet?ID='+App.getSessionId();
3501 21 Sep 15 olle 23     url += '&cmd=GetProcessedStartItemLists';
3501 21 Sep 15 olle 24     url += '&orderDesc=true';    
3501 21 Sep 15 olle 25     Wizard.showLoadingAnimation('Loading items...');
3501 21 Sep 15 olle 26     Wizard.asyncJsonRequest(url, updatestartlist.initializeStep1);
3501 21 Sep 15 olle 27   }
3501 21 Sep 15 olle 28
3501 21 Sep 15 olle 29   updatestartlist.initializeStep1 = function(response)
3501 21 Sep 15 olle 30   {
3501 21 Sep 15 olle 31     var frm = document.forms['meludi'];
3501 21 Sep 15 olle 32     var itemLists = response.itemLists;
3501 21 Sep 15 olle 33     
3501 21 Sep 15 olle 34     var startItemList = frm.startItemList;
3501 21 Sep 15 olle 35 //alert("initializeStep1(): itemLists.length = " + itemLists.length);
3501 21 Sep 15 olle 36     if (itemLists.length > 0)
3501 21 Sep 15 olle 37     {
3501 21 Sep 15 olle 38       for (var i=0; i < itemLists.length; i++)
3501 21 Sep 15 olle 39       {
3501 21 Sep 15 olle 40         var itemList = itemLists[i];
3501 21 Sep 15 olle 41         var name = (i+1) + ': ' + Strings.encodeTags(itemList.name);
3501 21 Sep 15 olle 42         if (itemList.sourceItemNames)
3501 21 Sep 15 olle 43         {
3501 21 Sep 15 olle 44           name += ' -- (';
3501 21 Sep 15 olle 45           name += itemList.numMeludiItems;
3501 21 Sep 15 olle 46           name += ' + ' + itemList.numExtraItems;
3501 21 Sep 15 olle 47           name += ')';
3501 21 Sep 15 olle 48         }
3501 21 Sep 15 olle 49         if (itemList.extractionDate)
3501 21 Sep 15 olle 50         {
3501 21 Sep 15 olle 51           name += ' -- [' + updatestartlist.asDate(itemList.extractionDate) + ']';
3501 21 Sep 15 olle 52         }
3501 21 Sep 15 olle 53 /*
3501 21 Sep 15 olle 54         var selected = i == (itemLists.length - 1);
3501 21 Sep 15 olle 55         var option = new Option(name, itemList.id, selected, selected);
3501 21 Sep 15 olle 56         option.itemList = itemList;
3501 21 Sep 15 olle 57         startItemList.options[startItemList.length] = option;
3501 21 Sep 15 olle 58 */
3501 21 Sep 15 olle 59         var selected = true;
3501 21 Sep 15 olle 60         // Only include start item lists with no value for extractionOperator annotation
3501 21 Sep 15 olle 61 //alert("initializeStep1(): i = " + i + " itemList.name = " + itemList.name + " itemList.extractionOperator = " + itemList.extractionOperator);
3501 21 Sep 15 olle 62         if (itemList.extractionOperator = 'undefined' || (itemList.extractionOperator != null && itemList.extractionOperator != ''))
3501 21 Sep 15 olle 63         {
3501 21 Sep 15 olle 64           var option = new Option(name, itemList.id, selected, selected);
3501 21 Sep 15 olle 65           option.itemList = itemList;
3501 21 Sep 15 olle 66           startItemList.options[startItemList.length] = option;
3501 21 Sep 15 olle 67         }
3501 21 Sep 15 olle 68       }
3501 21 Sep 15 olle 69 /*
3501 21 Sep 15 olle 70       startItemList.options[0].selected = true;
3501 21 Sep 15 olle 71 */
3501 21 Sep 15 olle 72     }
3501 21 Sep 15 olle 73     else
3501 21 Sep 15 olle 74     {
3501 21 Sep 15 olle 75       Wizard.setFatalError('No start lists available.');
3501 21 Sep 15 olle 76       return;
3501 21 Sep 15 olle 77     }
3501 21 Sep 15 olle 78     Doc.show('step-1');
3501 21 Sep 15 olle 79     Doc.show('gocancel');
3501 21 Sep 15 olle 80     Doc.hide('gonext');
3501 21 Sep 15 olle 81     Doc.show('goregister');
3501 21 Sep 15 olle 82     Doc.hide('extractSourceItems');
3501 21 Sep 15 olle 83   }
3501 21 Sep 15 olle 84
3501 21 Sep 15 olle 85   updatestartlist.validateStep1 = function(event)
3501 21 Sep 15 olle 86   {
3501 21 Sep 15 olle 87     var frm = document.forms['meludi'];
3501 21 Sep 15 olle 88     var jsonStartListIds = [];
3501 21 Sep 15 olle 89     var numSelected = 0;
3501 21 Sep 15 olle 90     for (var i = 0; i < frm.startItemList.length; i++)
3501 21 Sep 15 olle 91     {
3501 21 Sep 15 olle 92       if (frm.startItemList[i].selected)
3501 21 Sep 15 olle 93       {
3501 21 Sep 15 olle 94         var jsonStartList = {};
3501 21 Sep 15 olle 95         jsonStartList.id = frm.startItemList[i].value;
3501 21 Sep 15 olle 96         jsonStartListIds[numSelected] = jsonStartList;
3501 21 Sep 15 olle 97         numSelected++;
3501 21 Sep 15 olle 98       }
3501 21 Sep 15 olle 99     }
3501 21 Sep 15 olle 100     if (numSelected == 0)
3501 21 Sep 15 olle 101     {
3501 21 Sep 15 olle 102       event.preventDefault();
3501 21 Sep 15 olle 103     }
3501 21 Sep 15 olle 104   }
3501 21 Sep 15 olle 105   
3501 21 Sep 15 olle 106   updatestartlist.submit = function()
3501 21 Sep 15 olle 107   {
3501 21 Sep 15 olle 108     var frm = document.forms['meludi'];
3501 21 Sep 15 olle 109     //var startItemList = null;
3501 21 Sep 15 olle 110     var jsonStartItemListIds = [];
3501 21 Sep 15 olle 111     var numSelected = 0;
3501 21 Sep 15 olle 112     for (var i = 0; i < frm.startItemList.length; i++)
3501 21 Sep 15 olle 113     {
3501 21 Sep 15 olle 114       if (frm.startItemList[i].selected)
3501 21 Sep 15 olle 115       {
3501 21 Sep 15 olle 116         var jsonStartItemList = {};
3501 21 Sep 15 olle 117         jsonStartItemList.id = frm.startItemList[i].value;
3501 21 Sep 15 olle 118         jsonStartItemListIds[numSelected] = jsonStartItemList;
3501 21 Sep 15 olle 119         numSelected++;
3501 21 Sep 15 olle 120       }
3501 21 Sep 15 olle 121     }
3501 21 Sep 15 olle 122     if (numSelected == 0)
3501 21 Sep 15 olle 123     {
3501 21 Sep 15 olle 124       event.preventDefault();
3501 21 Sep 15 olle 125     }
3501 21 Sep 15 olle 126
3501 21 Sep 15 olle 127     frm.startItemList.disabled = true;
3501 21 Sep 15 olle 128
3501 21 Sep 15 olle 129     var submitInfo = {};
3501 21 Sep 15 olle 130     
3501 21 Sep 15 olle 131     submitInfo.startitemlists = jsonStartItemListIds;
3501 21 Sep 15 olle 132
3501 21 Sep 15 olle 133     var url = '../Extraction.servlet?ID='+App.getSessionId();
3501 21 Sep 15 olle 134     url += '&cmd=UpdateStartListsWithLotNumbersFromExtracts';
3501 21 Sep 15 olle 135     Wizard.showLoadingAnimation('Performing registration...');
3501 21 Sep 15 olle 136     Wizard.asyncJsonRequest(url, updatestartlist.submissionResults, 'POST', JSON.stringify(submitInfo));
3501 21 Sep 15 olle 137   }
3501 21 Sep 15 olle 138   
3501 21 Sep 15 olle 139   updatestartlist.submissionResults = function(response)
3501 21 Sep 15 olle 140   {
3501 21 Sep 15 olle 141     Wizard.showFinalMessage(response.messages);
3501 21 Sep 15 olle 142     Doc.show('gorestart');
3501 21 Sep 15 olle 143   }
3501 21 Sep 15 olle 144
3501 21 Sep 15 olle 145
3501 21 Sep 15 olle 146   // Format value as a date in format yyyy-mm-dd
3501 21 Sep 15 olle 147   updatestartlist.asDate = function(value)
3501 21 Sep 15 olle 148   {
3501 21 Sep 15 olle 149     if (!value) return '';
3501 21 Sep 15 olle 150     if (value.length == 8)
3501 21 Sep 15 olle 151     {
3501 21 Sep 15 olle 152       value = value.substr(0, 4) + '-' + value.substr(4, 2) + '-' + value.substr(6, 2);
3501 21 Sep 15 olle 153     }
3501 21 Sep 15 olle 154     return value;
3501 21 Sep 15 olle 155   }
3501 21 Sep 15 olle 156
3501 21 Sep 15 olle 157   return updatestartlist;
3501 21 Sep 15 olle 158 }();
3501 21 Sep 15 olle 159
3501 21 Sep 15 olle 160 Doc.onLoad(updatestartlist.initPage);