<!--#include virtual="/lib/header.shtml" --> <style type=text/css> button.install { display: none; background-image: none; background: #ccff99; } button.remove { display: none; background-image: none; background: #ff6666; } button.upgrade { display: none; } </style> <div class=va style="padding: 0 0 1em 0"> <h1 style="display: inline" class=va>Package Management</h1> <small> <button class=va id=opkgupdate style="display: none"> Update package list from Internet </button> <button class=va id=opkgupgradeall style="display: none"> Upgrade all packages </button> </small> </div> <div id=refreshing class=shadowbox style="display: none; margin: 1 0 1em 0"> <div> <img border=0 src=/img/loading.gif> Refreshing... </div> </div> <div id=dialogue style="display: none; align: center"> <pre id=dresults></pre> <div id=dspinner><img border=0 src=/img/loading.gif>Processing request...</div> </div> <script type=text/javascript src=/js/iajax.js></script> <script type=text/javascript> var opkg = '/cgi-bin/opkg.jim?cmd='; $(document).ready(function() { $('#opkgupdate') .button() .click(function() { execopkg('update'); }) .fadeIn('slow'); $('#opkgupgradeall') .button() .click(function() { execopkg('upgrade'); }) .fadeIn('slow'); $('#pkgtabs').tabs({ load: setup_buttons, spinner: '<img border=0 src=/img/loading.gif> ' + '<em>Loading...</em>' }); var $dialog = $('#dialogue').dialog({ title: "Package Management Results", modal: false, autoOpen: false, height: 500, width: 700, show: 'scale', hide: 'fade', draggable: true, resizable: true, buttons: { "Close": function() {$(this).dialog('close');}}, close: function(e,u) { $('#refreshing').show('slow'); $('#pkgtabs').hide('fast'); window.location.reload(true); } }); jQuery.ajaxSetup({progressInterval: 1}); function loaddata(data, isfinal) { //console.log('loaddata called, final=' + isfinal); //console.log('Data: ' + data); $('#dresults').append(data); if (isfinal) { $('#dspinner').hide('slow'); if (!$('#dresults').text()) $('#dresults').append('Nothing to do.'); } } function execopkg(arg) { $('button.va') .attr('disabled', true) .addClass('ui-state-disabled'); $('#dspinner').show(); $('#dresults').empty(); $dialog.dialog('open'); // $('#dresults').load(opkg + arg, function() { // $('#dspinner').hide('slow'); // }); $.ajax({ type: "GET", url: opkg + arg, progress: loaddata, success: function(data) { //console.log("ajax success"); loaddata(data, true); }, error: function(_, _, e) { //console.log("ajax error"); alert(e); } }); } function setup_buttons() { $('button.remove, button.install, button.upgrade') .button() .click(function() { if ($(this).attr('action') == 'remove' && !confirm('Please confirm removal of the ' + $(this).attr('id') + ' package.')) return; execopkg(encodeURIComponent($(this).attr('action') + ' ' + $(this).attr('id'))); }).fadeIn('slow'); } }); </script> <div id=pkgtabs> <ul> <li> <a href=/cgi-bin/pkg.jim?type=inst> <span>Installed</span> </a> </li><li> <a href=/cgi-bin/pkg.jim?type=upgr> <span>Upgrades</span> </a> </li><li> <a href=/cgi-bin/pkg.jim?type=avail> <span>Available</span> </a> </li> </ul> </div> <!--#include virtual="/lib/footer.shtml" -->