123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- jQuery(function(){
- var $extmgr = jQuery('#extension__manager');
- /**
- * Confirm uninstalling
- */
- $extmgr.find('button.uninstall').on('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').on('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()
- .on('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('button.disable, button.enable').on('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,
- sectok: $btn.parents('form').find('input[name=sectok]').val()
- },
- function (data) {
- $btn.css('cursor', '')
- .removeAttr('disabled')
- .removeClass('disable')
- .removeClass('enable')
- .text(data.label)
- .addClass(data.reverse)
- .parents('li')
- .removeClass('disabled')
- .removeClass('enabled')
- .addClass(data.state);
- }
- ).fail(function() {
- $btn.css('cursor', '')
- .removeAttr('disabled');
- });
- });
- /**
- * AJAX detail infos
- */
- $extmgr.find('a.info').on('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);
- }
- );
- });
- /**
- Create section for enabling/disabling viewing options
- */
- if ( $extmgr.find('.plugins, .templates').hasClass('active') ) {
- var $extlist = jQuery('#extension__list');
- $extlist.addClass('hasDisplayOptions');
- var $displayOpts = jQuery('<p>', { id: 'extension__viewoptions'} ).appendTo($extmgr.find( '.panelHeader' ));
- $displayOpts.append(LANG.plugins.extension.display_viewoptions);
- var displayOptionsHandler = function(){
- $extlist.toggleClass( this.name );
- DokuCookie.setValue('ext_'+this.name, $extlist.hasClass(this.name) ? '1' : '0');
- };
- jQuery(['enabled', 'disabled', 'updatable']).each(function(index, chkName){
- var $label = jQuery( '<label></label>' )
- .appendTo($displayOpts);
- var $input = jQuery( '<input />', { type: 'checkbox', name: chkName })
- .on('change', displayOptionsHandler)
- .appendTo($label);
- var previous = DokuCookie.getValue('ext_'+chkName);
- if(typeof previous === "undefined" || previous == '1') {
- $input.trigger('click');
- }
- jQuery( '<span/>' )
- .append(' '+LANG.plugins.extension['display_'+chkName])
- .appendTo($label);
- });
- }
- });
|