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

Revision: 114416
Author:   foxtrott
Date:     2012-03-21 22:11:56 +0000 (Wed, 21 Mar 2012)
Log Message:
-----------
filtered format: printout parameter 'distance filter initial value'; cleaning up

Modified Paths:
--------------
    trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Distance.php
    
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.distance-filter.js

Modified: 
trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Distance.php
===================================================================
--- trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Distance.php 
2012-03-21 22:01:14 UTC (rev 114415)
+++ trunk/extensions/SemanticResultFormats/Filtered/filters/SRF_FF_Distance.php 
2012-03-21 22:11:56 UTC (rev 114416)
@@ -165,7 +165,12 @@
                if ( array_key_exists( 'distance filter collapsible', $params ) 
) {
                        $ret['collapsible'] = trim($params['distance filter 
collapsible']);
                }
+               
+               if ( array_key_exists( 'distance filter initial value', $params 
) ) {
+                       $ret['initial value'] = trim( $params['distance filter 
initial value'] );
+               }
 
+
                return $ret;
        }
 

Modified: 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.distance-filter.js
===================================================================
--- 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.distance-filter.js
    2012-03-21 22:01:14 UTC (rev 114415)
+++ 
trunk/extensions/SemanticResultFormats/Filtered/libs/ext.srf.filtered.distance-filter.js
    2012-03-21 22:11:56 UTC (rev 114416)
@@ -16,16 +16,12 @@
                        
                        function update( filtered, filterDistance, target ) {
                                
-                               var values = 
filtered.data('ext.srf.filtered')['values'];
+                               for ( i in 
filtered.data('ext.srf.filtered')['values'] ) {
 
-                               for ( i in values ) {
-
-                                       var distance = 
values[i]['data']['distance-filter'];
-
                                        filtered.filtered( 
'voteItemVisibilityAndUpdate', {
                                                'filter': 'value', 
                                                'printout' : target, 
-                                               'visible': distance <= 
filterDistance,
+                                               'visible': 
values[i]['data']['distance-filter'] <= filterDistance,
                                                'item': i
                                        });
 
@@ -36,22 +32,29 @@
                        
                        var filtered = this;
                        
-                       
-                       
                        var target = args.printout;
                        var values = this.data('ext.srf.filtered')['values'];
                        var data = 
this.data('ext.srf.filtered')['data']['filterdata']['distance'][target];
                        
+                       var iniValue = data['initial value']?data['initial 
value']:data['max'];
+
+                       for ( var i in values ) {
+
+                               filtered.filtered( 'voteItemVisibility', {
+                                       'filter': 'value', 
+                                       'printout' : target, 
+                                       'visible': 
values[i]['data']['distance-filter'] <= iniValue,
+                                       'item': i
+                               });
+
+                       }
+
                        // build filter controls
                        var filtercontrols = 
this.children('.filtered-filters').children('.filtered-distance');
                        
-                       // insert the label of the printout this filter filters 
on
-                       
-                       for ( var i in values ) break;
-
                        var readoutAndSlider = $('<tr>');
 
-                       var readout = $('<div 
class="filtered-distance-readout">' + data['max'] + data['unit'] + '</div>' );
+                       var readout = $('<div 
class="filtered-distance-readout">' + iniValue + data['unit'] + '</div>' );
                        var slider = $('<div 
class="filtered-distance-slider">');
 
                        var readoutTD = $('<td 
class="filtered-distance-readout-cell">');
@@ -75,7 +78,7 @@
                        slider.slider({
                                animate: true,
                                max: data['max'],
-                               value: data['max'],
+                               value: iniValue,
                                slide: function(event, ui) {
                                        readout.empty().append( ui.value + 
data['unit'] );
                                },
@@ -84,114 +87,6 @@
                                }
                        });
                        
-//                     // insert the label of the printout this filter filters 
on
-//                     filtercontrols.append('<div 
class="filtered-value-label"><span>' + values[i]['printouts'][target]['label'] 
+ '</span></div>');
-//
-//                     if ( collapsible != null && ( collapsible == 
'collapsed' || collapsible == 'uncollapsed') ) {
-//                             var showControl = $('<span 
class="filtered-value-show">[+]</span>');
-//                             var hideControl = $('<span 
class="filtered-value-hide">[-]</span>');
-//                             
-//                             
-//                             filtercontrols
-//                             .prepend(showControl)
-//                             .prepend(hideControl);
-//                             
-//                             filtercontrols = $('<div 
class="filtered-value-collapsible">')
-//                             .appendTo(filtercontrols);
-//                             
-//                             showControl.click(function(){
-//                                     filtercontrols.slideDown();
-//                                     showControl.hide();
-//                                     hideControl.show();
-//                             });
-//                             
-//                             hideControl.click(function(){
-//                                     filtercontrols.slideUp();
-//                                     showControl.show();
-//                                     hideControl.hide();
-//                             });
-//                             
-//                             if ( collapsible == 'collapsed' ) {
-//                                     hideControl.hide();
-//                                     filtercontrols.slideUp(0);
-//                             } else {
-//                                     showControl.hide();
-//                             }
-//                             
-//                     }
-//
-//                     // set default config values
-//                     filtered.filtered( 'setFilterData', {filter: 'value', 
printout: target, configvar: 'use or', configvalue: true} );
-//                     
-//                     
-//                     // insert switches
-//                     if ( switches != null && switches.length > 0 ) {
-//                     
-//                             var switchControls = $('<div 
class="filtered-value-switches">');
-//                     
-//                             if ( $.inArray('and or', switches) >= 0 ) {
-//
-//                                     var andorControl = $('<div 
class="filtered-value-andor">');
-//                                     var andControl = $('<input type="radio" 
name="filtered-value-andor ' +
-//                                             target + '"  
class="filtered-value-andor ' + target + '" value="and">');
-//
-//                                     var orControl = $('<input type="radio" 
name="filtered-value-andor ' +
-//                                             target + '"  
class="filtered-value-andor ' + target + '" value="or" checked>');
-//
-//                                     andControl
-//                                     .add( orControl )
-//                                     .change(function() {
-//                                             filtered.filtered( 
'setFilterData', {filter: 'value', printout: target, configvar: 'use or', 
configvalue: orControl.is(':checked')} );
-//                                             update( filtered, 
filtercontrols, target );
-//                                     });
-//
-//                                     andorControl
-//                                     .append( orControl )
-//                                     .append(' OR ')
-//                                     .append( andControl )
-//                                     .append(' AND ')
-//                                     .appendTo( switchControls );
-//
-//                             }
-//                             
-//                             filtercontrols.append( switchControls );
-//                     }
-//                     
-//                     if ( height != null ) {
-//                             filtercontrols = $( '<div 
class="filtered-value-scrollable">' )
-//                             .appendTo( filtercontrols );
-//                             
-//                             filtercontrols.height( height );
-//                     }
-//                     
-//                     
-//                     var sortedDistinctValues = [];
-//                     
-//                     for ( var i in distinctValues ) {
-//                             sortedDistinctValues.push(i);
-//                     }
-//                     
-//                     sortedDistinctValues.sort();
-//                     
-//                     // insert options (checkboxes and labels) and attach 
event handlers
-//                     // TODO: Do we need to wrap these in a form?
-//                     for ( var j in sortedDistinctValues ) {
-//                             var option = $('<div 
class="filtered-value-option">');
-//                             var checkbox = $('<input type="checkbox" 
class="filtered-value-value" value="' + sortedDistinctValues[j] + '"  >');
-//                             
-//                             // attach event handler
-//                             checkbox.change(function( evt ){
-//                                     update(filtered, filtercontrols, 
target);
-//                             });
-//                             
-//                             option
-//                             .append(checkbox)
-//                             .append(sortedDistinctValues[j]);
-//                             
-//                             filtercontrols
-//                             .append(option);
-//                             
-//                     }
                        
                        return this;
                },


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

Reply via email to