From 655dcd4730dada569d335ee9318f58e256f9ba1c Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag <klapinklapin@gmail.com> Date: Sun, 1 May 2016 00:31:40 +0200 Subject: [PATCH] store the last filtering in the extension manager Otherwise you have to reapply the filtering every time you updated one plugin. --- lib/plugins/extension/script.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/plugins/extension/script.js b/lib/plugins/extension/script.js index ccd220b02..e6824917f 100644 --- a/lib/plugins/extension/script.js +++ b/lib/plugins/extension/script.js @@ -116,20 +116,27 @@ jQuery(function(){ 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' )); + 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('extension__show_'+this.name, $extlist.hasClass(this.name) ? '1' : '0'); }; jQuery(['enabled', 'disabled', 'updatable']).each(function(index, chkName){ - var $label = jQuery( '<label></label>' ).appendTo($displayOpts); - jQuery( '<input />', { type: 'checkbox', name: chkName }) + var $label = jQuery( '<label></label>' ) + .appendTo($displayOpts); + var $input = jQuery( '<input />', { type: 'checkbox', name: chkName }) .change(displayOptionsHandler) - .appendTo($label) - .click(); + .appendTo($label); + + var previous = DokuCookie.getValue('extension__show_'+chkName); + if(typeof previous === "undefined" || previous == '1') { + $input.click(); + } + jQuery( '<span/>' ) .append(' '+LANG.plugins.extension['display_'+chkName]) .appendTo($label); -- GitLab