Примеры использования фильтров - SRAX.Filter

преобразование ссылок в AJAX "на лету"

простой пример

                
  <h4><a href="filter/index.html">простой пример</a></h4>
  <div id="example1"></div>
  <script>
    SRAX.Filter.add({url:'/filter/', id:'example1'})
  </script>  

изменение адреса запроса

                
  <h4><a href="burda/index.html">изменение адреса запроса</a></h4>
  <div id="example2"></div>
  <script>
    SRAX.Filter.add({url:'/burda/', id:'example2', urlChanger:function(url, owner){
      return url.replace('burda', 'filter');
    }})
  </script>  

пример   мульти   фильтра

                
  <h4><a href="url1.html">пример</a>   <a href="url2.html">мульти</a>   <a href="url3.html">фильтра</a></h4>
  <div id="example3"></div>
  <script>
    SRAX.Filter.add({url:['url1.html', 'url2.html', 'url3.html'], id:'example3', changer:function(url, owner){
      return 'filter/index.html';
    }})
  </script>

фильтр на строку запроса

                
  <h4><a href="filter/index.html?param1=value1">фильтр на строку запроса</a></h4>
  <div id="example4"></div>
  <script>
    SRAX.Filter.add({query:'param1=value1', id:'example4'})
  </script>  

комбинированый фильтр

                
  <h4><a href="filter/index.html?param2=value2">комбинированый фильтр</a></h4>
  <div id="example5"></div>
  <script>
    SRAX.Filter.add({url:'filter', query:'param2=value2', join:'and', id:'example5'})
  </script>  

ручное переопределение действия

                
  <h4><a href="manual_handler.html">ручное переопределение действия</a></h4>
  <div id="example6"></div>
  <script>
    SRAX.Filter.add({url:'manual_handler', handler:function(owner, options){
      id('example6').innerHTML = '<div style="background:#ffaaaa; padding:2px 5px; width:200px;">что хочу то ворочу</div>';
    }})
  </script>  

При работе фильтров могут возникать наложения правил, приоритет имеет тот фильтр у которого совпадение правила длинее.
К примеру: на адресс 'filter/index.html' - SRAX.Filter.add({url:'filter', id:'example1'}) имеет больший приоритет над SRAX.Filter.add({url:'fil', id:'example2'}), потому что 'filter' длинее 'fil'. При одинаковых длинах приоритет имеет тот, который был определен раньше.

Описание

/**
* Объект фильтр ссылок - для "авто-заворачивания" в AJAX
*
* пример:
* SRAX.Filter.add({'id':'header','url':'header'});
*
* Список параметров:
* id - id блока
* url - ссылка или массив ссылок
* urlType - 'contain' (по умолчанию) или 'start' или 'end' - соответсвенно содержит, начинается или заканчивается
* query - строка или массив строк запроса
* queryType - 'contain' (по умолчанию) или 'start' или 'end' - соответсвенно содержит, начинается или заканчивается
* join (joinLogic) - логика обьединения url и query - 'or' (по умолчанию) или 'and'
* changer (urlChanger) - функция изменения обволакиваемой ссылки urlChanger: function(url, owner){return url.replace('index.php', 'mypage.php')}
* target - true заворачивать ссылки с атрибутом target (_self, _parent, _top, _blank) или false - не заворачивать (по умолчанию)
* type - если = 'data', тогда для запроса используется dax, иначе используется hax
* handler - функция обработки клика, если не указана, тогда используется функция в соответсвии с type
*
**/