source: trunk/grails-app/views/fasta/showProcessScreen.gsp @ 3

Last change on this file since 3 was 3, checked in by robert@…, 9 years ago

Externalized configuration; improved assay view (detail views of runs and samples); implemented uploading and parsing of FASTA and QUAL files

File size: 2.1 KB
Line 
1<html>
2<head>
3<meta name="layout" content="main" />
4<title>Processing files for assay ${assay.name} | Metagenomics |
5dbNP</title>
6
7<script type="text/javascript">
8                        var assayId = ${assay.id};
9                        $(function() {
10                                $( "#wait_dialog" ).dialog({
11                                        height: 140,
12                                        width: 400,
13                                        title: 'Please wait while processing files',
14                                        modal: true,
15                                        autoOpen: true,
16                                        buttons: {},
17                                        closeOnEscape: false,
18                                        open: function(event, ui) { $(".ui-dialog-titlebar-close" ).hide(); },
19                                        resizable: false       
20                                });
21
22                                // Show the progressbar and update the value every second
23                                $( "#progressbar" ).progressbar({
24                                        value: 0
25                                });
26
27                                var progressInterval = setInterval(updateProgress, 250);
28                                                               
29                                // Call processing URL
30                                $.ajax({
31                                  type: 'POST',
32                                  url: "<g:createLink controller="fasta" action="process" id="${assay.id}" />",
33                                  success: function(data) {
34                                         
35                                          // Stop update progress bar
36                                          clearInterval( progressInterval );
37                                           
38                                          window.location.replace( "${url.encodeAsJavaScript()}" );
39                                  },
40                                  error: function(xhr, textStatus, errorThrown) {
41
42                                          // Stop update progress bar (but update it for the last time)
43                                          updateProgress()
44                                          clearInterval( progressInterval );
45
46                                          alert( "Error " + xhr.responseCode + ": " + textStatus );
47                                          window.location.replace( "<g:createLink controller="assay" action="show" id="${assay.id}" />" );
48                                }
49                                });
50                        });
51
52                        function updateProgress() {
53                              $.ajax({
54                                    type: "GET",
55                                    url: "<g:createLink controller="fasta" action="getProgress" />",
56                                    dataType: "json",
57                                    success: function(progress) {
58                                          $("#progressbar").progressbar("value", progress.bytesProcessed / progress.numBytes * 100 );
59                                                }
60                              });
61                        }
62                </script>
63<style type="text/css">
64        #wait_dialog {
65                padding: 20px;
66                text-align: center;
67        }
68       
69        #progressbar { margin-top: 10px; }
70</style>
71</head>
72<body>
73<div id="wait_dialog">
74
75        <span class="spinner" style="display: inline-block; zoom: 1; *display: inline;"></span>
76        Please wait while processing your files.
77       
78        <div id="progressbar"></div>
79       
80</div>
81</body>
82</html>
Note: See TracBrowser for help on using the repository browser.