Changeset 28247

Show
Ignore:
Timestamp:
10.09.2013 12:55:00 (6 years ago)
Author:
sjm84
Message:

Added comma support to the paged-image filter

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r26704 r28247  
    640640        filter.keyup(function() 
    641641        { 
    642             var currentValue = filter.val(); 
    643             var isRange = (currentValue.search(/\d+-\d+/) != -1) 
     642            var fullValue = filter.val().replace(/ /g, ""); 
     643            var values = fullValue.split(","); 
    644644             
    645             var found = false; 
    646             for(var i = 0; i < _titles.length; i++) 
    647             { 
    648                 if(_titles[i][0] == currentValue) 
    649                 { 
    650                     found = true; 
     645            var matchingTitles = new Array(); 
     646             
     647            for (var l = 0; l < values.length; l++) 
     648            { 
     649                var currentValue = values[l]; 
     650                var isRange = (currentValue.search(/\d+-\d+/) != -1) 
     651                 
     652                var found = false; 
     653                for(var i = 0; i < _titles.length; i++) 
     654                { 
     655                    if(_titles[i][0] == currentValue) 
     656                    { 
     657                        found = true; 
     658                    } 
    651659                } 
    652             } 
    653              
    654             if(!found && isRange) 
    655             { 
    656                 var firstNumber = currentValue.replace(/^(\d+)-\d+$/, "$1"); 
    657                 var secondNumber = currentValue.replace(/^\d+-(\d+)$/, "$1"); 
    658660                 
    659                 if(firstNumber <= secondNumber) 
    660                 { 
    661                     var matchingTitles = new Array(); 
    662                     for(var i = firstNumber; i <= secondNumber; i++) 
     661                if(!found && isRange) 
     662                { 
     663                    var firstNumber = currentValue.replace(/(\d+)-\d+/, "$1"); 
     664                    var secondNumber = currentValue.replace(/\d+-(\d+)/, "$1"); 
     665                     
     666                    if(firstNumber <= secondNumber) 
    663667                    { 
    664                         var numString = i + ""; 
    665                         for(var j = 0; j < _titles.length; j++) 
     668                        for(var i = firstNumber; i <= secondNumber; i++) 
    666669                        { 
    667                             var currentTitle = _titles[j]; 
    668                             if(currentTitle[0].search(numString) != -1) 
     670                            var numString = i + ""; 
     671                            for(var j = 0; j < _titles.length; j++) 
    669672                            { 
    670                                 matchingTitles.push(currentTitle); 
     673                                var currentTitle = _titles[j]; 
     674                                if(currentTitle[0].search(numString) != -1) 
     675                                { 
     676                                    matchingTitles.push(currentTitle); 
     677                                } 
    671678                            } 
    672679                        } 
    673680                    } 
    674                      
     681                } 
     682                else 
     683                { 
    675684                    for(var i = 0; i < _titles.length; i++) 
    676685                    { 
    677                         $(_titles[i][1].cell).css("display", "none"); 
    678                     } 
    679                      
    680                     for(var i = 0; i < matchingTitles.length; i++) 
    681                     { 
    682                         $(matchingTitles[i][1].cell).css("display", "table-cell"); 
     686                        var currentTitle = _titles[i]; 
     687                        if(currentTitle[0].search(currentValue.replace(/\./g, "\\.")) != -1) 
     688                        { 
     689                            matchingTitles.push(currentTitle); 
     690                        } 
    683691                    } 
    684692                } 
    685693            } 
    686             else 
    687             { 
    688                 for(var i = 0; i < _titles.length; i++) 
    689                 { 
    690                     var currentTitle = _titles[i]; 
    691                     if(currentTitle[0].search(currentValue.replace(/\./g, "\\.")) != -1) 
    692                     { 
    693                         $(currentTitle[1].cell).css("display", "table-cell"); 
    694                     } 
    695                     else 
    696                     { 
    697                         $(currentTitle[1].cell).css("display", "none"); 
    698                     } 
    699                 } 
     694             
     695            for(var i = 0; i < _titles.length; i++) 
     696            { 
     697                $(_titles[i][1].cell).css("display", "none"); 
     698            } 
     699             
     700            for(var i = 0; i < matchingTitles.length; i++) 
     701            { 
     702                $(matchingTitles[i][1].cell).css("display", "table-cell"); 
    700703            } 
    701704        });