Ignore:
Timestamp:
2012-03-27T13:03:21+13:00 (12 years ago)
Author:
sjm84
Message:

Added the ability to do a range search (e.g. 1-342) in the filter pages area

File:
1 edited

Legend:

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

    r25283 r25295  
    334334        {
    335335            var currentValue = filter.val();
     336            var isRange = (currentValue.search(/\d+-\d+/) != -1)
     337           
     338            var found = false;
    336339            for(var i = 0; i < _titles.length; i++)
    337340            {
    338                 var currentTitle = _titles[i];
    339                 if(currentTitle[0].search(/*"^" +*/ currentValue.replace(/\./g, "\\.")) != -1)
     341                if(_titles[i][0] == currentValue)
    340342                {
    341                     currentTitle[1].cell.style.display = "table-cell";
     343                    found = true;
    342344                }
    343                 else
     345            }
     346           
     347            if(!found && isRange)
     348            {
     349                var firstNumber = currentValue.replace(/^(\d+)-\d+$/, "$1");
     350                var secondNumber = currentValue.replace(/^\d+-(\d+)$/, "$1");
     351               
     352                if(firstNumber <= secondNumber)
    344353                {
    345                     currentTitle[1].cell.style.display = "none";
     354                    var matchingTitles = new Array();
     355                    for(var i = firstNumber; i <= secondNumber; i++)
     356                    {
     357                        var numString = i + "";
     358                        for(var j = 0; j < _titles.length; j++)
     359                        {
     360                            var currentTitle = _titles[j];
     361                            if(currentTitle[0].search(numString) != -1)
     362                            {
     363                                matchingTitles.push(currentTitle);
     364                            }
     365                        }
     366                    }
     367                   
     368                    for(var i = 0; i < _titles.length; i++)
     369                    {
     370                        _titles[i][1].cell.style.display = "none";
     371                    }
     372                   
     373                    for(var i = 0; i < matchingTitles.length; i++)
     374                    {
     375                        matchingTitles[i][1].cell.style.display = "table-cell";
     376                    }
     377                }
     378            }
     379            else
     380            {
     381                for(var i = 0; i < _titles.length; i++)
     382                {
     383                    var currentTitle = _titles[i];
     384                    if(currentTitle[0].search(currentValue.replace(/\./g, "\\.")) != -1)
     385                    {
     386                        currentTitle[1].cell.style.display = "table-cell";
     387                    }
     388                    else
     389                    {
     390                        currentTitle[1].cell.style.display = "none";
     391                    }
    346392                }
    347393            }
Note: See TracChangeset for help on using the changeset viewer.