Ignore:
Timestamp:
2013-09-10T12:55:00+12:00 (11 years ago)
Author:
sjm84
Message:

Added comma support to the paged-image filter

File:
1 edited

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        });
Note: See TracChangeset for help on using the changeset viewer.