#PHRAS-610 #time 2h

WIP
This commit is contained in:
Jean-Yves Gaulier
2015-07-29 21:42:46 +02:00
parent 4090164896
commit d788f62762
3 changed files with 47 additions and 63 deletions

View File

@@ -6,9 +6,9 @@
<input type="hidden" name="reference" value="{{sbas_id}}"/> <input type="hidden" name="reference" value="{{sbas_id}}"/>
<div class="clksbas"> <div class="clksbas">
<span onclick="deploy(this, '.sbascont_{{sbas_id}}' );" class="deployer_opened" ></span> <span onclick="deploy(this, '.sbascont_{{sbas_id}}' );" class="deployer_opened" ></span>
<input type="checkbox" checked xstyle="display: none;" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="sbasChkr_{{sbas_id}}" <input type="checkbox" checked style="display: none;" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="sbasChkr_{{sbas_id}}"
onchange="clksbas(this, {{sbas_id}});" /> onchange="clksbas(this, {{sbas_id}});" />
<label style="display: inline" class="checkbox" for="sbasChkr_{{sbas_id}}_{{unique_id}}"> <label id="ADVSRCH_SBAS_LABEL_{{sbas_id}}" style="display: inline" class="checkbox danger_indicator" for="sbasChkr_{{sbas_id}}_{{unique_id}}">
<span>{{sbas_id|sbas_labels(app)}}</span> <span>{{sbas_id|sbas_labels(app)}}</span>
<span class="infos_sbas_{{sbas_id}}"> <span class="infos_sbas_{{sbas_id}}">
{{base["collections"]|length}}/{{base['collections']|length}} {{base["collections"]|length}}/{{base['collections']|length}}
@@ -24,7 +24,7 @@
<tr> <tr>
<td> <td>
<input class="ck_{{collection["base_id"]}} checkbas" style="*margin-top:-18px;" <input class="ck_{{collection["base_id"]}} checkbas" style="*margin-top:-18px;"
onchange="infoSbas(this, {{sbas_id}});checkFilters(true);" onchange="checkFilters(true);"
id="ck_{{collection["base_id"]}}_{{unique_id}}" type="checkbox" id="ck_{{collection["base_id"]}}_{{unique_id}}" type="checkbox"
name="bases[]" value="{{collection["base_id"]}}" {% if collection["selected"] %}checked="checked"{% endif %} /> name="bases[]" value="{{collection["base_id"]}}" {% if collection["selected"] %}checked="checked"{% endif %} />
</td> </td>
@@ -262,7 +262,7 @@
<form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query"> <form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query">
<input id="SENT_query" name="qry" type="hidden" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}"> <input id="SENT_query" name="qry" type="hidden" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}">
<div class="input-append"> <div class="input-append">
<input id="EDIT_query" name="fake_qry" type="text" autocomplete="off" class="search query" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}"> <input id="EDIT_query" name="fake_qry" type="text" autocomplete="off" class="search query danger_indicator" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}">
<a id="ADV_query" href="#" class="btn btn-inverse adv_trigger adv_search_button"> <a id="ADV_query" href="#" class="btn btn-inverse adv_trigger adv_search_button">
<img src="/skins/icons/settings.png" title="{{ 'Advanced Search' | trans }}"/> <img src="/skins/icons/settings.png" title="{{ 'Advanced Search' | trans }}"/>
</a> </a>

View File

@@ -2440,15 +2440,10 @@ H4 {
} }
#searchForm .clkbas label { #searchForm .clkbas label {
color: #AAAAAA;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
#searchForm .clkbas label.selected {
color: #FFFFFF;
}
.clkbas img { .clkbas img {
vertical-align: middle; vertical-align: middle;
max-height: 22px; max-height: 22px;

View File

@@ -152,7 +152,11 @@ function is_shift_key(event) {
return false; return false;
} }
/**
* adv search : check/uncheck all the collections (called by the buttons "all"/"none")
*
* @param bool
*/
function checkBases(bool) { function checkBases(bool) {
$('form.phrasea_query .sbas_list').each(function () { $('form.phrasea_query .sbas_list').each(function () {
@@ -161,15 +165,8 @@ function checkBases(bool) {
$(this).find(':checkbox').attr('checked', 'checked'); $(this).find(':checkbox').attr('checked', 'checked');
else else
$(this).find(':checkbox').removeAttr('checked'); $(this).find(':checkbox').removeAttr('checked');
infoSbas(null, sbas_id);
}); });
if (bool) {
$('.sbascont label').addClass('selected');
}
else {
$('.sbascont label').removeClass('selected');
}
checkFilters(true); checkFilters(true);
} }
@@ -214,34 +211,38 @@ function checkFilters(save) {
$("option.dbx", dateFilterSelect).prop("disabled", true); // dbx = all "field" entries in the select = all except the firstt $("option.dbx", dateFilterSelect).prop("disabled", true); // dbx = all "field" entries in the select = all except the firstt
$("option.dbx", dateFilterSelect).hide(); $("option.dbx", dateFilterSelect).hide();
var nbSelectedColls = 0; var nbTotalSelectedColls = 0;
$.each($('.sbascont', adv_box), function () { $.each($('.sbascont', adv_box), function () {
var $this = $(this); var $this = $(this);
var sbas_id = $this.parent().find('input[name="reference"]').val(); var sbas_id = $this.parent().find('input[name="reference"]').val();
search.bases[sbas_id] = []; search.bases[sbas_id] = [];
var bas_ckbox = $this.find('.checkbas'); var nbCols = 0;
if (bas_ckbox.filter(':not(:checked)').length > 0) { var nbSelectedColls = 0;
danger = 'medium'; $this.find('.checkbas').each(function (idx, el) {
} nbCols++;
if($(this).attr("checked")) {
var checked = bas_ckbox.filter(':checked');
/*
if (checked.length > 0) {
var sbas_fields = $('.field_' + sbas_id, container).removeClass("hidden");
sbas_fields.filter('option').show().filter('.was').removeClass('was').attr('selected', 'selected').selected(true);
sbas_fields.filter(':checkbox').parent().show().find('.was').attr('checked', 'checked').removeClass('was');
}
*/
var nbSelectedCollsForSBas = 0;
checked.each(function () {
nbSelectedCollsForSBas++;
nbSelectedColls++; nbSelectedColls++;
nbTotalSelectedColls++;
search.bases[sbas_id].push($(this).val()); search.bases[sbas_id].push($(this).val());
}
}); });
if(nbSelectedCollsForSBas == 0) { // display the number of selected colls for the databox
$('.infos_sbas_' + sbas_id).empty().append(nbSelectedColls + '/' + nbCols);
// if one coll is not checked, show danger
if(nbSelectedColls != nbCols) {
$("#ADVSRCH_SBAS_LABEL_" + sbas_id).addClass("danger");
danger = true;
}
else {
$("#ADVSRCH_SBAS_LABEL_" + sbas_id).removeClass("danger");
}
if(nbSelectedColls == 0) {
// no collections checked for this databox // no collections checked for this databox
// hide the status bits // hide the status bits
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).hide(); $("#ADVSRCH_SB_ZONE_"+sbas_id, container).hide();
@@ -264,7 +265,7 @@ function checkFilters(save) {
} }
}); });
if (nbSelectedColls === 0) { if (nbTotalSelectedColls == 0) {
// no collections checked at all // no collections checked at all
// filters.addClass("danger"); // filters.addClass("danger");
// hide irrelevant filters // hide irrelevant filters
@@ -307,6 +308,7 @@ function checkFilters(save) {
} }
else { else {
$('#ADVSRCH_FIELDS_ZONE', container).addClass('danger'); $('#ADVSRCH_FIELDS_ZONE', container).addClass('danger');
danger = true;
} }
//--------- status bits filter --------- //--------- status bits filter ---------
@@ -324,6 +326,7 @@ function checkFilters(save) {
} }
else { else {
$("#ADVSRCH_SB_ZONE_"+sbas_id, container).addClass('danger'); $("#ADVSRCH_SB_ZONE_"+sbas_id, container).addClass('danger');
danger = true;
} }
} }
/* /*
@@ -364,13 +367,17 @@ function checkFilters(save) {
fieldsSelect.scrollTop(scroll); fieldsSelect.scrollTop(scroll);
if (save === true) // if one filter shows danger, show it on the query
setPref('search', JSON.stringify(search)); if (danger) {
if (danger === true || danger === 'medium')
$('#EDIT_query').addClass('danger'); $('#EDIT_query').addClass('danger');
else }
else {
$('#EDIT_query').removeClass('danger'); $('#EDIT_query').removeClass('danger');
}
if (save === true) {
setPref('search', JSON.stringify(search));
}
} }
function toggleFilter(filter, ele) { function toggleFilter(filter, ele) {
@@ -422,6 +429,7 @@ function clearAnswers() {
function reset_adv_search() { function reset_adv_search() {
$('#ADVSRCH_OPTIONS_ZONE select[name="sort"]').val($('#ADVSRCH_OPTIONS_ZONE select[name="sort"] option.default-selection').attr('value')); $('#ADVSRCH_OPTIONS_ZONE select[name="sort"]').val($('#ADVSRCH_OPTIONS_ZONE select[name="sort"] option.default-selection').attr('value'));
$('#ADVSRCH_FIELDS_ZONE option').removeAttr("selected");
$('#ADVSRCH_OPTIONS_ZONE input:checkbox.field_switch').removeAttr('checked'); $('#ADVSRCH_OPTIONS_ZONE input:checkbox.field_switch').removeAttr('checked');
$('#ADVSRCH_OPTIONS_ZONE .datepicker').val(''); $('#ADVSRCH_OPTIONS_ZONE .datepicker').val('');
$('form.adv_search_bind input:text').val(''); $('form.adv_search_bind input:text').val('');
@@ -2756,29 +2764,10 @@ function clksbas(el, sbas_id) {
$.each($('.sbascont_' + sbas_id + ' :checkbox'), function () { $.each($('.sbascont_' + sbas_id + ' :checkbox'), function () {
this.checked = bool; this.checked = bool;
}); });
if (bool) {
$('.sbascont_' + sbas_id + ' label').addClass('selected');
}
else {
$('.sbascont_' + sbas_id + ' label').removeClass('selected');
}
infoSbas(null, sbas_id);
checkFilters(true); checkFilters(true);
} }
function infoSbas(el, sbas_id) {
if (el) {
var label = $('label.ck_' + $(el).val());
if ($(el).attr('checked')) {
label.addClass('selected');
}
else {
label.removeClass('selected');
}
}
$('.infos_sbas_' + sbas_id).empty().append($('.basChild_' + sbas_id + ':first .checkbas:checked').length + '/' + $('.basChild_' + sbas_id + ':first .checkbas').length);
}
function advSearch(event) { function advSearch(event) {
event.cancelBubble = true; event.cancelBubble = true;