diff options
author | ghi <dokuwiki@imz.re> | 2015-02-17 11:08:15 +0100 |
---|---|---|
committer | ghi <dokuwiki@imz.re> | 2015-02-17 11:08:15 +0100 |
commit | 7d0b7e5ed7aa0f9c56def8f6c9866aa4fc8315b8 (patch) | |
tree | 08330b0a548a402caeb02ee7a185e745386ad45d /lib/plugins/extension/script.js | |
parent | d6dc28be40fb3202a3df69458db164e20999ac2b (diff) | |
parent | f8803275a58a05b29e4029cc539a6f8c60ad2ea5 (diff) | |
download | rpg-7d0b7e5ed7aa0f9c56def8f6c9866aa4fc8315b8.tar.gz rpg-7d0b7e5ed7aa0f9c56def8f6c9866aa4fc8315b8.tar.bz2 |
Merge https://github.com/splitbrain/dokuwiki into html_showrev_output
Diffstat (limited to 'lib/plugins/extension/script.js')
-rw-r--r-- | lib/plugins/extension/script.js | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js new file mode 100644 index 000000000..fab88162d --- /dev/null +++ b/lib/plugins/extension/script.js @@ -0,0 +1,113 @@ +jQuery(function(){ + + var $extmgr = jQuery('#extension__manager'); + + /** + * Confirm uninstalling + */ + $extmgr.find('input.uninstall').click(function(e){ + if(!window.confirm(LANG.plugins.extension.reallydel)){ + e.preventDefault(); + return false; + } + return true; + }); + + /** + * very simple lightbox + * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/ + */ + $extmgr.find('a.extension_screenshot').click(function(e) { + e.preventDefault(); + + //Get clicked link href + var image_href = jQuery(this).attr("href"); + + // create lightbox if needed + var $lightbox = jQuery('#plugin__extensionlightbox'); + if(!$lightbox.length){ + $lightbox = jQuery('<div id="plugin__extensionlightbox"><p>Click to close</p><div></div></div>') + .appendTo(jQuery('body')) + .hide() + .click(function(){ + $lightbox.hide(); + }); + } + + // fill and show it + $lightbox + .show() + .find('div').html('<img src="' + image_href + '" />'); + + + return false; + }); + + /** + * 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 + */ + $extmgr.find('a.info').click(function(e){ + e.preventDefault(); + + var $link = jQuery(this); + var $details = $link.parent().find('dl.details'); + if($details.length){ + $link.toggleClass('close'); + $details.toggle(); + return; + } + + $link.addClass('close'); + jQuery.get( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_extension', + ext: $link.data('extid'), + act: 'info' + }, + function(data){ + $link.parent().append(data); + } + ); + }); + +});
\ No newline at end of file |