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