Мне не удается настроить фильтрацию для работы с jsRender (https://www.jsviews.com/#fortag @ filter )
В документации указано, что при рендеринге нужно просто передать функцию фильтра, а затем определить Это. Верните true, чтобы показать запись, false, чтобы скрыть ее.
Я не могу заставить его запустить фильтр, он просто делает свое дело.
var htmlOutput = template.render(data, {
myFilter: myFilterFunction
});
var htmlOutput = template.render(data);
$("#placeholder").html(htmlOutput);
function myFilterFunction(item, index, items) {
return false;
}
Мой шаблон:
<script id="personTemplate" type="text/x-jsrender">
<div class="row">
<div class="" style="height:250px; overflow-y:auto;width:100%;">
<ul class="list-group mb-3 list-fix">
{{for tasks filter=~myFilter reverse=true tmpl="#tasksTemplate"/}}
</ul>
</div>
</div>
</script>
<script id="tasksTemplate" type="text/x-jsrender">
<li class="list-group-item list-group-item-action flex-column align-items-start">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">{{:title}}</h6>
<small class="task">{{formatstatus:status}}</small>
</div>
<p class="mb-0 apt-event"><span class="badge badge-secondary">Due</span> {{formatdate:due_date}}</p>
<small style="display:none;">{{>description}}</small>
</li>
</script>