Skip to content
Snippets Groups Projects
Commit e5bb1ed5 authored by Robert Lange's avatar Robert Lange Committed by André Lahmann
Browse files

refs #19811 [finc] adv. search:

* set focus on first input in advanced search form
** after page has been loaded
** BUT focus on next / new input when user adds new search field
* reset limit for results on default on clear-button
** set variable for javascript in /search/advanced/limit.phtml
parent 2a4d530f
No related merge requests found
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
var nextGroup = 0; var nextGroup = 0;
var groupLength = []; var groupLength = [];
function addSearch(group, _fieldValues) { function addSearch(group, _fieldValues, isUser) {
var fieldValues = _fieldValues || {}; var fieldValues = _fieldValues || {};
// Build the new search // Build the new search
var inputID = group + '_' + groupLength[group]; var inputID = group + '_' + groupLength[group];
...@@ -53,7 +53,11 @@ function addSearch(group, _fieldValues) { ...@@ -53,7 +53,11 @@ function addSearch(group, _fieldValues) {
groupLength[group]++; groupLength[group]++;
// #17985 finc barf // #17985 finc barf
$newSearch.find('input.form-control').focus(); if (isUser) {
$newSearch.find('input.form-control').focus();
} else {
$("#group" + group).find('input.form-control').first().focus();
}
return false; return false;
} }
...@@ -99,7 +103,7 @@ function addGroup(_firstTerm, _firstField, _join) { ...@@ -99,7 +103,7 @@ function addGroup(_firstTerm, _firstField, _join) {
.removeClass('hidden'); .removeClass('hidden');
$newGroup.find('.add_search_link') $newGroup.find('.add_search_link')
.attr('id', 'add_search_link_' + nextGroup) .attr('id', 'add_search_link_' + nextGroup)
.attr('onClick', 'return addSearch(' + nextGroup + ')') .attr('onClick', 'return addSearch(' + nextGroup + ', {}, true)')
.removeClass('hidden'); .removeClass('hidden');
$newGroup.find('.adv-group-close') $newGroup.find('.adv-group-close')
.attr('onClick', 'return deleteGroup(' + nextGroup + ')'); .attr('onClick', 'return deleteGroup(' + nextGroup + ')');
...@@ -115,7 +119,7 @@ function addGroup(_firstTerm, _firstField, _join) { ...@@ -115,7 +119,7 @@ function addGroup(_firstTerm, _firstField, _join) {
$('#groupPlaceHolder').before($newGroup); $('#groupPlaceHolder').before($newGroup);
// Populate // Populate
groupLength[nextGroup] = 0; groupLength[nextGroup] = 0;
addSearch(nextGroup, {term: firstTerm, field: firstField}); addSearch(nextGroup, {term: firstTerm, field: firstField}, false);
// Show join menu // Show join menu
if (nextGroup > 0) { if (nextGroup > 0) {
$('#groupJoin').removeClass('hidden'); $('#groupJoin').removeClass('hidden');
...@@ -145,7 +149,10 @@ function deleteGroup(group) { ...@@ -145,7 +149,10 @@ function deleteGroup(group) {
$(document).ready(function advSearchReady() { $(document).ready(function advSearchReady() {
$('.clear-btn').click(function clearBtnClick() { $('.clear-btn').click(function clearBtnClick() {
$('input[type="text"]').val(''); $('input[type="text"]').val('');
$("option:selected").removeAttr("selected"); $('select').not('#limit').find('option:selected').removeAttr('selected');
if (typeof defaultLimit !== 'undefined') {
$("#limit").val(defaultLimit);
}
$("#illustrated_-1").click(); $("#illustrated_-1").click();
}); });
}); });
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// If a previous limit was used, make that the default; otherwise, use the "default default" // If a previous limit was used, make that the default; otherwise, use the "default default"
$lastLimit = $this->searchMemory()->getLastLimit($this->options->getSearchClassId()); $lastLimit = $this->searchMemory()->getLastLimit($this->options->getSearchClassId());
$defaultLimit = empty($lastLimit) ? $this->options->getDefaultLimit() : $lastLimit; $defaultLimit = empty($lastLimit) ? $this->options->getDefaultLimit() : $lastLimit;
$this->headScript()->appendScript("var defaultLimit = $defaultLimit");
?> ?>
<?php if (count($limitList) > 1): ?> <?php if (count($limitList) > 1): ?>
<fieldset class="limits"> <fieldset class="limits">
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment