add sort <select> box to document search (#973)

This commit is contained in:
Frédéric Péters 2011-11-24 12:08:09 +01:00
parent 67b1ca4437
commit 10d0fc28fc
1 changed files with 30 additions and 0 deletions

View File

@ -33,6 +33,8 @@
search_batch python:Batch(list(search_results or []), b_size, int(b_start), orphan=1);"
tal:condition="python: search_results is not None">
<input name="fieldset.current" type="hidden" value="#fieldset-documents"/>
<div id="sorton"><select><option disabled="disabled">Trier par</option></select></div>
<div id="resultsbox">
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
</div>
@ -71,6 +73,7 @@
tal:condition="python: search_results is not None">
<input name="fieldset.current" type="hidden" value="#fieldset-dossiers"/>
<div id="sorton"><select><option disabled="disabled">Trier par</option></select></div>
<div id="resultsbox">
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
</div>
@ -109,6 +112,7 @@
tal:condition="python: search_results is not None">
<input name="fieldset.current" type="hidden" value="#fieldset-questions"/>
<div id="sorton"><select><option disabled="disabled">Trier par</option></select></div>
<div id="resultsbox">
<span>Nombre de résultats : <span tal:replace="python: len(search_results)"/></span>
</div>
@ -178,6 +182,32 @@
<script type="text/javascript" tal:content="string: var PORTAL_URL='${view/portal_url}';"></script>
<script metal:use-macro="view/js_macros/macros/labelboxes"></script>
<script type="text/javascript">
(function($) {
$().ready(function() {
$('#formfield-document-widgets-sort_on').hide();
$('#formfield-dossier-widgets-sort_on').hide();
$('#formfield-question-widgets-sort_on').hide();
$('#resultsbox').each(function() {
form = $($(this).prevAll('input').attr('value')).find('form');
console.log('form:', form);
field_array = $(form).find('div.field');
sort_on_options = $(field_array[field_array.length-1]).find('option').clone();
$('#sorton select').append(sort_on_options).change(function() {
selected_option = $(this).val();
$(field_array[field_array.length-1]).find('option').each(function() {
if ($(this).attr('value') == selected_option) {
$(this).attr('selected', 'selected');
$(form).submit();
} else {
$(this).attr('selected', null);
}
});
});
});
});
})(jQuery);
</script>
</tal:block>
</tal:main-macro>