Oops, forgot to add the js/database.js file to the commit 6134a181d1910910021d
authorLeonardo Sápiras <l.sapiras@gmail.com>
Wed, 9 Jun 2010 20:36:25 +0000 (22:36 +0200)
committerioguix <ioguix@free.fr>
Wed, 9 Jun 2010 20:36:25 +0000 (22:36 +0200)
js/database.js [new file with mode: 0644]

diff --git a/js/database.js b/js/database.js
new file mode 100644 (file)
index 0000000..d568b91
--- /dev/null
@@ -0,0 +1,64 @@
+$(document).ready(function() {
+
+       var timeid = query = null;
+       var controlLink = $('#control');
+       var errmsg = $('<p class="errmsg">'+Database.errmsg+'</p>')
+               .insertBefore(controlLink)
+               .hide();
+       var loading = $('<img class="loading" alt="[loading]" src="'+ Database.load_icon +'" />')
+               .insertAfter(controlLink)
+               .hide();
+
+       function refreshTable() {
+               if (Database.ajax_time_refresh > 0) {
+                       loading.show();
+                       query = $.ajax({
+                               type: 'GET',
+                               dataType: 'html',
+                               data: {server: Database.server, database: Database.dbname, action: Database.action},
+                               url: 'database.php',
+                               cache: false,
+                               contentType: 'application/x-www-form-urlencoded',
+                               success: function(html) {
+                                       $('#data_block').html(html);
+                                       timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh)
+                               },
+                               error: function() {
+                                       controlLink.click();
+                                       errmsg.show();
+                               },
+                               complete: function () {
+                                       loading.hide();
+                               }
+                       });
+               }
+       }
+
+       controlLink.toggle(
+               function() {
+                       $(errmsg).hide();
+                       timeid = window.setTimeout(refreshTable, Database.ajax_time_refresh);
+                       controlLink.html('<img src="'+ Database.str_stop.icon +'" alt="" />&nbsp;'
+                               + Database.str_stop.text + '&nbsp;&nbsp;&nbsp;'
+                       );
+               },
+               function() {
+                       $(errmsg).hide();
+                       $(loading).hide();
+                       window.clearInterval(timeid);
+                       query.abort();
+                       controlLink.html('<img src="'+ Database.str_start.icon +'" alt="" />&nbsp;'
+                               + Database.str_start.text
+                       );
+               }
+       );
+
+       /* preload images */
+       $('#control img').hide()
+               .attr('src', Database.str_start.icon)
+               .attr('src', Database.str_stop.icon)
+               .show();
+       
+       /* start refreshing */
+       controlLink.click();
+});