search = 0;
[% END %]
- $("#searchmember_filter").on('keyup', function(){
- filter();
- });
// Apply DataTables on the results table
dtMemberResults = $("#memberresultst").dataTable($.extend(true, {}, dataTablesDefaults, {
'bServerSide': true,
aoData.push({
'name': 'searchmember',
'value': $("#searchmember_filter").val()
+ },{
+ 'name': 'firstletter',
+ 'value': $("#firstletter_filter").val()
+ },{
+ 'name': 'categorycode',
+ 'value': $("#categorycode_filter").val()
+ },{
+ 'name': 'branchcode',
+ 'value': $("#branchcode_filter").val()
},{
'name': 'name_sorton',
'value': 'borrowers.surname borrowers.firstname'
'bFilter': false,
'bProcessing': true,
}));
- dtMemberResults.fnAddFilters("filter", 750);
-});
-var delay = (function(){
- var timer = 0;
- return function(callback, ms){
- clearTimeout (timer);
- timer = setTimeout(callback, ms);
- };
-})();
+ $("#searchform").on('submit', filter);
+});
function filter() {
search = 1;
-
+ $("#firstletter_filter").val('');
$("#searchresults").show();
-
- if ( $("#searchmember_filter").val().length > 0 ) {
- delay(function(){
- dtMemberResults.fnDraw();
- }, 1000);
- }
-
+ dtMemberResults.fnDraw();
return false;
}
+// User has clicked on a letter
+function filterByFirstLetterSurname(letter) {
+ $("#firstletter_filter").val(letter);
+ search = 1;
+ $("#searchresults").show();
+ dtMemberResults.fnDraw();
+}
+
+
// modify parent window owner element
[% IF selection_type == 'add' %]
function add_user(borrowernumber, borrowername) {
<div id="bd">
<div class="yui-g">
- <h3>Search for patron</h3>
-
- <label for="searchmember_filter">Search:</label>
- <input type="text" id="searchmember_filter" value="[% searchmember %]"/>
+ <form id="searchform">
+ <fieldset class="brief">
+ <h3>Search for patron</h3>
+ <ol>
+ <li>
+ <label for="searchmember_filter">Search:</label>
+ <input type="text" id="searchmember_filter" value="[% searchmember %]"/>
+ </li>
+ <li>
+ <label for="categorycode_filter">Category:</label>
+ <select id="categorycode_filter">
+ <option value="">Any</option>
+ [% FOREACH category IN categories %]
+ <option value="[% category.categorycode %]">[% category.description %]</option>
+ [% END %]
+ </select>
+ </li>
+ <li>
+ <label for="branchcode_filter">Library:</label>
+ <select id="branchcode_filter">
+ [% IF branches.size != 1 %]
+ <option value="">Any</option>
+ [% END %]
+ [% FOREACH branch IN branches %]
+ <option value="[% branch.branchcode %]">[% branch.branchname %]</option>
+ [% END %]
+ </select>
+ </li>
+ </ol>
+ <fieldset class="action">
+ <input type="submit" value="Search" />
+ </fieldset>
+ </fieldset>
+ <form>
[% IF patrons_with_acq_perm_only %]
<div class="hint">Only staff with superlibrarian or acquisitions permissions (or order_manage permission if granular permissions are enabled) are returned in the search results</div>
[% END %]
+ <div class="browse">
+ Browse by last name:
+ [% FOREACH letter IN alphabet.split(' ') %]
+ <a style="cursor:pointer" onclick="filterByFirstLetterSurname('[% letter %]');">[% letter %]</a>
+ [% END %]
+ </div>
+
<div id="info" class="dialog message"></div>
<div id="error" class="dialog alert"></div>
+ <input type="hidden" id="firstletter_filter" value="" />
<div id="searchresults">
<table id="memberresultst">
<thead>