summaryrefslogtreecommitdiff
path: root/lib/plugins/extension/script.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/plugins/extension/script.js')
-rw-r--r--lib/plugins/extension/script.js50
1 files changed, 46 insertions, 4 deletions
diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js
index bd3c97758..fab88162d 100644
--- a/lib/plugins/extension/script.js
+++ b/lib/plugins/extension/script.js
@@ -1,9 +1,11 @@
jQuery(function(){
+ var $extmgr = jQuery('#extension__manager');
+
/**
* Confirm uninstalling
*/
- jQuery('#extension__manager input.uninstall').click(function(e){
+ $extmgr.find('input.uninstall').click(function(e){
if(!window.confirm(LANG.plugins.extension.reallydel)){
e.preventDefault();
return false;
@@ -15,7 +17,7 @@ jQuery(function(){
* very simple lightbox
* @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/
*/
- jQuery('#extension__manager a.extension_screenshot').click(function(e) {
+ $extmgr.find('a.extension_screenshot').click(function(e) {
e.preventDefault();
//Get clicked link href
@@ -42,9 +44,48 @@ jQuery(function(){
});
/**
+ * Enable/Disable extension via AJAX
+ */
+ $extmgr.find('input.disable, input.enable').click(function (e) {
+ e.preventDefault();
+ var $btn = jQuery(this);
+
+ // get current state
+ var extension = $btn.attr('name').split('[')[2];
+ extension = extension.substr(0, extension.length - 1);
+ var act = ($btn.hasClass('disable')) ? 'disable' : 'enable';
+
+ // disable while we wait
+ $btn.attr('disabled', 'disabled');
+ $btn.css('cursor', 'wait');
+
+ // execute
+ jQuery.get(
+ DOKU_BASE + 'lib/exe/ajax.php',
+ {
+ call: 'plugin_extension',
+ ext: extension,
+ act: act
+ },
+ function (data) {
+ $btn.css('cursor', '')
+ .removeAttr('disabled')
+ .removeClass('disable')
+ .removeClass('enable')
+ .val(data.label)
+ .addClass(data.reverse)
+ .parents('li')
+ .removeClass('disabled')
+ .removeClass('enabled')
+ .addClass(data.state);
+ }
+ );
+ });
+
+ /**
* AJAX detail infos
*/
- jQuery('#extension__manager a.info').click(function(e){
+ $extmgr.find('a.info').click(function(e){
e.preventDefault();
var $link = jQuery(this);
@@ -60,7 +101,8 @@ jQuery(function(){
DOKU_BASE + 'lib/exe/ajax.php',
{
call: 'plugin_extension',
- ext: $link.data('extid')
+ ext: $link.data('extid'),
+ act: 'info'
},
function(data){
$link.parent().append(data);