Changeset View
Changeset View
Standalone View
Standalone View
branches/5.2.x/core/admin_templates/js/grid_filters.js
Show First 20 Lines • Show All 76 Lines • ▼ Show 20 Line(s) | |||||
<input type="button" class="button" value="' + phrases['la_ToolTip_Search'] + '" onclick="search(\'' + $prefix + '\', \'' + $grid_name + '\', ' + parseInt($ajax) + ')"/> \ | <input type="button" class="button" value="' + phrases['la_ToolTip_Search'] + '" onclick="search(\'' + $prefix + '\', \'' + $grid_name + '\', ' + parseInt($ajax) + ')"/> \ | ||||
<input type="button" class="button" value="' + phrases['la_tooltip_close'] + '" onclick="MultiOptions.CloseSelector(' + $cur_index + ')">\ | <input type="button" class="button" value="' + phrases['la_tooltip_close'] + '" onclick="MultiOptions.CloseSelector(' + $cur_index + ')">\ | ||||
</div>' | </div>' | ||||
); | ); | ||||
$('#' + jq($form_name)).append($div); | $('#' + jq($form_name)).append($div); | ||||
// set click handlers | // set click handlers | ||||
$('#_mutlioptions_cb_' + $cur_index + '_all') | var $select_all = $('#_mutlioptions_cb_' + $cur_index + '_all'), | ||||
.click( | $new_checked = $options.length === $options.filter(':selected').length; | ||||
function ($e) { | |||||
$select_all.click(function ($e) { | |||||
MultiOptions.SelectAll($cur_index); | MultiOptions.SelectAll($cur_index); | ||||
}); | |||||
if ( $select_all.prop('checked') !== $new_checked ) { | |||||
$select_all.prop('checked', $new_checked).change(); | |||||
} | } | ||||
) | |||||
.prop('checked', $options.length == $options.filter(':selected').length); | |||||
$('input._mutlioptions_cb_' + $cur_index).click( | $('input._mutlioptions_cb_' + $cur_index).click( | ||||
function ($e) { | function ($e) { | ||||
MultiOptions.ItemChecked($cur_index); | MultiOptions.ItemChecked($cur_index); | ||||
} | } | ||||
); | ); | ||||
// add filter placeholder, used for filter opening filter | // add filter placeholder, used for filter opening filter | ||||
Show All 31 Lines | |||||
MultiOptions.ItemChecked = function(selector_index) { | MultiOptions.ItemChecked = function(selector_index) { | ||||
// sync hidden field | // sync hidden field | ||||
var $reg_exp = new RegExp('^_mutlioptions_cb_' + selector_index + '_(?!all)([0-9A-Za-z-]+)'); | var $reg_exp = new RegExp('^_mutlioptions_cb_' + selector_index + '_(?!all)([0-9A-Za-z-]+)'); | ||||
update_checkbox_options($reg_exp, MultiOptions.Selectors[selector_index]); | update_checkbox_options($reg_exp, MultiOptions.Selectors[selector_index]); | ||||
// update "Select All" checkbox | // update "Select All" checkbox | ||||
var $select_all = $('#_mutlioptions_cb_' + selector_index + '_all'); | var $select_all = $('#_mutlioptions_cb_' + selector_index + '_all'); | ||||
var $options = $("input[type='checkbox']", '#' + jq(MultiOptions.Selectors[selector_index]) + '_div').not($select_all); | var $options = $("input[type='checkbox']", '#' + jq(MultiOptions.Selectors[selector_index]) + '_div').not($select_all); | ||||
var $new_checked = $options.length === $options.filter(':checked').length; | |||||
$select_all.prop('checked', $options.length == $options.filter(':checked').length); | if ( $select_all.prop('checked') !== $new_checked ) { | ||||
$select_all.prop('checked', $new_checked).change(); | |||||
} | |||||
} | } | ||||
MultiOptions.SelectAll = function(selector_index) { | MultiOptions.SelectAll = function(selector_index) { | ||||
// set all checkbox to match "Select All" checkbox | // set all checkbox to match "Select All" checkbox | ||||
var $select_all = $('#_mutlioptions_cb_' + selector_index + '_all'); | var $select_all = $('#_mutlioptions_cb_' + selector_index + '_all'); | ||||
var $checked = $select_all.prop('checked'); | var $checked = $select_all.prop('checked'); | ||||
$("input[type='checkbox']", '#' + jq(MultiOptions.Selectors[selector_index]) + '_div').not($select_all).prop('checked', $checked); | $("input[type='checkbox']", '#' + jq(MultiOptions.Selectors[selector_index]) + '_div').not($select_all).each(function () { | ||||
var $checkbox = $(this); | |||||
if ( $checkbox.prop('checked') !== $checked ) { | |||||
$checkbox.prop('checked', $checked).change(); | |||||
} | |||||
}); | |||||
// sync hidden field | // sync hidden field | ||||
var $reg_exp = new RegExp('^_mutlioptions_cb_' + selector_index + '_(?!all)([0-9A-Za-z-]+)'); | var $reg_exp = new RegExp('^_mutlioptions_cb_' + selector_index + '_(?!all)([0-9A-Za-z-]+)'); | ||||
update_checkbox_options($reg_exp, MultiOptions.Selectors[selector_index]); | update_checkbox_options($reg_exp, MultiOptions.Selectors[selector_index]); | ||||
} | } |