https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113429

Revision: 113429
Author:   foxtrott
Date:     2012-03-08 23:55:51 +0000 (Thu, 08 Mar 2012)
Log Message:
-----------
sliding for value filter

Modified Paths:
--------------
    trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Value.php
    
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.value-filter.js
    
trunk/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.value-filter.css

Modified: 
trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Value.php
===================================================================
--- trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Value.php    
2012-03-08 23:54:30 UTC (rev 113428)
+++ trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Value.php    
2012-03-08 23:55:51 UTC (rev 113429)
@@ -46,15 +46,21 @@
         */
        public function getJsData() {
                $params = $this->getActualParameters();
+               
+               $ret = array();
 
                if (  array_key_exists( 'value filter switches', $params ) ) {
                        $switches = explode( ',', $params['value filter 
switches'] );
                        $switches = array_map( 'trim', $switches );
 
-                       return array( 'switches' => $switches );
+                       $ret['switches'] = $switches;
                }
 
-               return null;
+               if (  array_key_exists( 'value filter collapsible', $params ) ) 
{
+                       $ret['collapsible'] = trim($params['value filter 
collapsible']);
+               }
+
+               return $ret;
        }
 
 }

Modified: 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.value-filter.js
===================================================================
--- 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.value-filter.js
       2012-03-08 23:54:30 UTC (rev 113428)
+++ 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.value-filter.js
       2012-03-08 23:55:51 UTC (rev 113429)
@@ -82,6 +82,7 @@
                        var values = this.data('ext.srf.filtered')['values'];
                        var target = args.printout;
                        var switches = filtered.filtered( 'getFilterData', 
{filter: 'value', printout: target, configvar: 'switches'} );
+                       var collapsible = filtered.filtered( 'getFilterData', 
{filter: 'value', printout: target, configvar: 'collapsible'} );
                        
                        // find distinct values and set visibility for all 
items that have
                        // some value for this printout
@@ -173,6 +174,39 @@
                                
                        }
                        
+                       if ( collapsible != null && ( collapsible == 
'collapsed' || collapsible == 'uncollapsed') ) {
+                               var showControl = $('<span 
class="filtered-value-show">[+]</span>');
+                               var hideControl = $('<span 
class="filtered-value-hide">[-]</span>');
+                               
+                               showControl.click(function(){
+                                       
filtercontrols.children('.filtered-value-collapsible').slideDown();
+                                       showControl.hide();
+                                       hideControl.show();
+                               });
+                               
+                               hideControl.click(function(){
+                                       
filtercontrols.children('.filtered-value-collapsible').slideUp();
+                                       showControl.show();
+                                       hideControl.hide();
+                               });
+                               
+                               filtercontrols
+                               .prepend(showControl)
+                               .prepend(hideControl)
+                               
+                               
.children('.filtered-value-switches,.filtered-value-option')
+                               .wrapAll( '<div 
class="filtered-value-collapsible">' );
+                               
+                               if ( collapsible == 'collapsed' ) {
+                                       hideControl.hide();
+                                       
filtercontrols.children('.filtered-value-collapsible').slideUp(0);
+                               } else {
+                                       showControl.hide();
+                               }
+                               
+                               
+                       }
+
                        return this;
                },
                

Modified: 
trunk/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.value-filter.css
===================================================================
--- 
trunk/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.value-filter.css
     2012-03-08 23:54:30 UTC (rev 113428)
+++ 
trunk/extensions/SemanticResultFormats/Filtered/skins/ext.srf.filtered.value-filter.css
     2012-03-08 23:55:51 UTC (rev 113429)
@@ -38,3 +38,16 @@
        width: 20%;
 }
 
+.filtered-filters .filtered-value .filtered-value-show,
+.filtered-filters .filtered-value .filtered-value-hide { 
+       margin: 0pt;
+       padding: 0pt 1em;
+       background-color: white;
+       width: 1.5em;
+       float: right;
+       position: relative;
+       top: -1.8em;
+       right: 0pt;
+       text-align: center;
+       cursor: pointer;
+}
\ No newline at end of file


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to