mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 02:13:15 +00:00
Enhance CSS selector for IE performance
This commit is contained in:
@@ -183,32 +183,33 @@ function checkBases(bool)
|
|||||||
function checkFilters(save)
|
function checkFilters(save)
|
||||||
{
|
{
|
||||||
var danger = false;
|
var danger = false;
|
||||||
var search = {};
|
var search = {
|
||||||
var adv_box = $('form.phrasea_query .adv_options');
|
bases: {},
|
||||||
search.bases = {};
|
fields: {},
|
||||||
search.fields = {};
|
dates: {},
|
||||||
search.dates = {};
|
status: {}
|
||||||
search.status = {};
|
};
|
||||||
var scroll = $('.field_filter select').scrollTop();
|
|
||||||
|
|
||||||
var switches = $('#sbasfiltercont .field_switch');
|
var adv_box = $('form.phrasea_query .adv_options');
|
||||||
|
var container = $("#sbasfiltercont");
|
||||||
|
var fieldsSelect = $('.field_filter select', container);
|
||||||
|
|
||||||
|
var scroll = fieldsSelect.scrollTop();
|
||||||
|
var switches = $('.field_switch', container);
|
||||||
|
|
||||||
switches.filter('.was').removeClass('was');
|
switches.filter('.was').removeClass('was');
|
||||||
|
|
||||||
switches.filter('option:selected, input:checked').addClass('was');
|
switches.filter('option:selected, input:checked').addClass('was');
|
||||||
|
|
||||||
$('#sbasfiltercont select option:selected:not(".default-selection")').removeAttr('selected').selected(false);
|
$('select option:selected:not(".default-selection")', container).removeAttr('selected').selected(false);
|
||||||
|
|
||||||
$('#sbasfiltercont select option.field_switch').addClass("hidden");
|
$('select option.field_switch', container).addClass("hidden");
|
||||||
|
|
||||||
$('#sbasfiltercont input.field_switch:checked').removeAttr('checked');
|
$('input.field_switch:checked', container).removeAttr('checked');
|
||||||
|
|
||||||
$('#sbasfiltercont input.field_switch:checkbox').parent().hide();
|
$('input.field_switch:checkbox', container).parent().hide();
|
||||||
|
|
||||||
$('.field_filter, .status_filter, .date_filter', adv_box).removeClass('danger');
|
$('.field_filter, .status_filter, .date_filter', adv_box).removeClass('danger');
|
||||||
|
|
||||||
var adv_box = $('form.phrasea_query .adv_options');
|
|
||||||
|
|
||||||
$.each($('.sbascont', adv_box), function(){
|
$.each($('.sbascont', adv_box), function(){
|
||||||
var sbas_id = $(this).parent().find('input[name="reference"]').val();
|
var sbas_id = $(this).parent().find('input[name="reference"]').val();
|
||||||
search.bases[sbas_id] = new Array();
|
search.bases[sbas_id] = new Array();
|
||||||
@@ -224,7 +225,7 @@ function checkFilters(save)
|
|||||||
|
|
||||||
if(checked.length>0)
|
if(checked.length>0)
|
||||||
{
|
{
|
||||||
var sbas_fields = $('#sbasfiltercont .field_' + sbas_id).removeClass("hidden");
|
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('option').show().filter('.was').removeClass('was').attr('selected', 'selected').selected(true);
|
||||||
sbas_fields.filter(':checkbox').parent().show().find('.was').attr('checked','checked').removeClass('was');
|
sbas_fields.filter(':checkbox').parent().show().find('.was').attr('checked','checked').removeClass('was');
|
||||||
}
|
}
|
||||||
@@ -234,7 +235,7 @@ function checkFilters(save)
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
search.fields = (search.fields = $('.field_filter select').val()) !== null ? search.fields : new Array;
|
search.fields = (search.fields = fieldsSelect.val()) !== null ? search.fields : new Array;
|
||||||
|
|
||||||
var reset_field = false;
|
var reset_field = false;
|
||||||
$.each(search.fields, function(i,n){
|
$.each(search.fields, function(i,n){
|
||||||
@@ -243,7 +244,7 @@ function checkFilters(save)
|
|||||||
});
|
});
|
||||||
if(reset_field)
|
if(reset_field)
|
||||||
{
|
{
|
||||||
$('#sbasfiltercont select[name="fields[]"] option:selected').removeAttr('selected').selected(false);
|
$('select[name="fields[]"] option:selected', container).removeAttr('selected').selected(false);
|
||||||
search.fields = new Array;
|
search.fields = new Array;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,7 +272,8 @@ function checkFilters(save)
|
|||||||
$('.date_filter', adv_box).addClass('danger');
|
$('.date_filter', adv_box).addClass('danger');
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.field_filter select').scrollTop(scroll);
|
fieldsSelect.scrollTop(scroll);
|
||||||
|
|
||||||
if(save===true)
|
if(save===true)
|
||||||
setPref('search',JSON.stringify(search));
|
setPref('search',JSON.stringify(search));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user