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

Code
Comments
Other
Rev Date Author Line
2803 14 Oct 14 nicklas 1 var FlaggedRna = function()
2803 14 Oct 14 nicklas 2 {
2803 14 Oct 14 nicklas 3   var flaggedrna = {};
2803 14 Oct 14 nicklas 4   var debug = 0;
2803 14 Oct 14 nicklas 5
2803 14 Oct 14 nicklas 6   // Page initialization
2803 14 Oct 14 nicklas 7   flaggedrna.initPage = function()
2803 14 Oct 14 nicklas 8   {
2803 14 Oct 14 nicklas 9     Buttons.addClickHandler('close', App.closeWindow);
2803 14 Oct 14 nicklas 10     Buttons.addClickHandler('btnUseSelected', flaggedrna.useSelected);
2803 14 Oct 14 nicklas 11     Buttons.addClickHandler('btnUnflagSelected', flaggedrna.unflagSelected);
2803 14 Oct 14 nicklas 12     
2803 14 Oct 14 nicklas 13     var flagged = window.opener.Rna.getFlagged();
2803 14 Oct 14 nicklas 14     var frm = document.forms['flaggedRna'];
2803 14 Oct 14 nicklas 15     for (var i = 0; i < flagged.length; i++)
2803 14 Oct 14 nicklas 16     {
2803 14 Oct 14 nicklas 17       var rna = flagged[i];
3759 19 Feb 16 nicklas 18       var isYellow = rna.specimen && rna.specimen.YellowLabel != null;
3759 19 Feb 16 nicklas 19       var yellowImg = isYellow ? '<img src="../images/yellow-label.png">' : '';
2803 14 Oct 14 nicklas 20       var name = Strings.encodeTags(rna.name);
2803 14 Oct 14 nicklas 21       var link = '<img class="link case-summary" data-name="'+name+'" src="../images/case_summary.png">';
3759 19 Feb 16 nicklas 22       Doc.element('rna.'+i).innerHTML = yellowImg+name+link;
2803 14 Oct 14 nicklas 23       if (rna.bioWell)
2803 14 Oct 14 nicklas 24       {
2803 14 Oct 14 nicklas 25         var well = rna.bioWell;
2803 14 Oct 14 nicklas 26         Doc.element('location.'+i).innerHTML = Strings.encodeTags(well.bioPlate.name +' ['+Reggie.wellToAlpha(well.row)+(well.column+1)+']');
2803 14 Oct 14 nicklas 27       }
2803 14 Oct 14 nicklas 28       var qs = rna.rqs || rna.rin;
2803 14 Oct 14 nicklas 29       Doc.element('remainingQuantity.'+i).innerHTML = Numbers.formatNumber(rna.remainingQuantity, 2);
2803 14 Oct 14 nicklas 30       Doc.element('qualityScore.'+i).innerHTML = Numbers.formatNumber(qs, qs < -10 ? 0 : 1);
2803 14 Oct 14 nicklas 31       Doc.element('comment.'+i).innerHTML = Strings.encodeTags(rna.comment || '');
2803 14 Oct 14 nicklas 32       Doc.element('flag.'+i).innerHTML = Strings.encodeTags(rna.flag);
3759 19 Feb 16 nicklas 33       if (isYellow) Doc.addClass('row.'+i, 'yellow-specimen');
2803 14 Oct 14 nicklas 34       if (rna.flag == 'NotEnoughRemainingQuantity')
2803 14 Oct 14 nicklas 35       {
2803 14 Oct 14 nicklas 36         Doc.addClass('remainingQuantity.'+i, 'bold');
2803 14 Oct 14 nicklas 37       }
2803 14 Oct 14 nicklas 38       else if (rna.flag == 'LowQualityScore')
2803 14 Oct 14 nicklas 39       {
2803 14 Oct 14 nicklas 40         Doc.addClass('qualityScore.'+i, 'bold');
2803 14 Oct 14 nicklas 41       }
2803 14 Oct 14 nicklas 42       else
2803 14 Oct 14 nicklas 43       {
2803 14 Oct 14 nicklas 44         Doc.addClass('comment.'+i, 'bold');
2803 14 Oct 14 nicklas 45       }
2803 14 Oct 14 nicklas 46       frm['use.'+i].rna = rna;
2803 14 Oct 14 nicklas 47     }
2803 14 Oct 14 nicklas 48
2803 14 Oct 14 nicklas 49     var cs = document.getElementsByClassName('case-summary');
2803 14 Oct 14 nicklas 50     for (var i = 0; i < cs.length; i++)
2803 14 Oct 14 nicklas 51     {
5019 10 Oct 18 nicklas 52       Events.addEventHandler(cs[i], 'click', Reggie.openCaseSummaryPopupOnEventy);
2803 14 Oct 14 nicklas 53     }
2803 14 Oct 14 nicklas 54   
2803 14 Oct 14 nicklas 55   }
2803 14 Oct 14 nicklas 56
2803 14 Oct 14 nicklas 57   flaggedrna.useSelected = function()
2803 14 Oct 14 nicklas 58   {
2803 14 Oct 14 nicklas 59     var frm = document.forms['flaggedRna'];
2803 14 Oct 14 nicklas 60     var i = 0;
2808 15 Oct 14 nicklas 61     var selected = [];
2803 14 Oct 14 nicklas 62     while (frm['use.'+i])
2803 14 Oct 14 nicklas 63     {
2803 14 Oct 14 nicklas 64       if (frm['use.'+i].checked)
2803 14 Oct 14 nicklas 65       {
2803 14 Oct 14 nicklas 66         var rna = frm['use.'+i].rna;
2808 15 Oct 14 nicklas 67         selected[selected.length] = {'id': rna.id, 'name': rna.name };
2803 14 Oct 14 nicklas 68       }
2803 14 Oct 14 nicklas 69       i++;
2803 14 Oct 14 nicklas 70     }
2808 15 Oct 14 nicklas 71     
2808 15 Oct 14 nicklas 72     var remaining = selected.length-1;
2808 15 Oct 14 nicklas 73     for (var i = 0; i < selected.length; i++)
2808 15 Oct 14 nicklas 74     {
2808 15 Oct 14 nicklas 75       var s = selected[i];
2808 15 Oct 14 nicklas 76       s.remaining = remaining--;
2808 15 Oct 14 nicklas 77       Events.sendCustomEvent(window.opener.Doc.element('plate'), 'base-selected', s);
2808 15 Oct 14 nicklas 78     }
2808 15 Oct 14 nicklas 79     
2803 14 Oct 14 nicklas 80     window.close();
2803 14 Oct 14 nicklas 81   }
2803 14 Oct 14 nicklas 82   
2803 14 Oct 14 nicklas 83   flaggedrna.unflagSelected = function()
2803 14 Oct 14 nicklas 84   {
2803 14 Oct 14 nicklas 85     var frm = document.forms['flaggedRna'];
2803 14 Oct 14 nicklas 86     var i = 0;
2803 14 Oct 14 nicklas 87     while (frm['use.'+i])
2803 14 Oct 14 nicklas 88     {
2803 14 Oct 14 nicklas 89       if (frm['use.'+i].checked)
2803 14 Oct 14 nicklas 90       {
2803 14 Oct 14 nicklas 91         var rna = frm['use.'+i].rna;
2803 14 Oct 14 nicklas 92         window.opener.Rna.unflag(window.opener.Rna.createByName(rna.name));
2803 14 Oct 14 nicklas 93       }
2803 14 Oct 14 nicklas 94       i++;
2803 14 Oct 14 nicklas 95     }
2803 14 Oct 14 nicklas 96     window.opener.SelectRna.updateNumFlaggedRna();
2803 14 Oct 14 nicklas 97     window.close();
2803 14 Oct 14 nicklas 98   }
2803 14 Oct 14 nicklas 99
2803 14 Oct 14 nicklas 100
2803 14 Oct 14 nicklas 101
2803 14 Oct 14 nicklas 102   return flaggedrna;
2803 14 Oct 14 nicklas 103 }();
2803 14 Oct 14 nicklas 104
2803 14 Oct 14 nicklas 105 Doc.onLoad(FlaggedRna.initPage);
2803 14 Oct 14 nicklas 106