преобразование ссылок в 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
*
**/