0001-accessibility-replace-focus-at-the-beginning-of-list.patch
combo/public/static/js/combo.public.js | ||
---|---|---|
368 | 368 |
if (items.length <= paginate_by) { |
369 | 369 |
return; |
370 | 370 |
} |
371 | ||
372 |
function update_page(step) { |
|
371 |
function update_page(step, reset_focus) { |
|
373 | 372 |
page_index = page_index + step; |
374 | 373 |
if (page_index == 0) { |
375 | 374 |
$pagination.find('.cell-items-pagination-prev').prop('disabled', true); |
... | ... | |
383 | 382 |
} |
384 | 383 |
start_item = paginate_by * page_index; |
385 | 384 |
items.hide(); |
386 |
items.slice(start_item, start_item + paginate_by).show(); |
|
385 |
var shown_items = items.slice(start_item, start_item + paginate_by) |
|
386 |
shown_items.show() |
|
387 |
if (reset_focus) { |
|
388 |
var first_focusable_item = shown_items.find('button, a, input, select, textarea, [tabindex]:not([tabindex="-1"])').first() |
|
389 |
first_focusable_item.focus(); |
|
390 |
} |
|
387 | 391 |
}; |
388 | 392 | |
389 |
$pagination.find('.cell-items-pagination-prev').click(function() { update_page(-1); }); |
|
390 |
$pagination.find('.cell-items-pagination-next').click(function() { update_page(1); }); |
|
393 |
$pagination.find('.cell-items-pagination-prev').click(function() { update_page(-1, true); });
|
|
394 |
$pagination.find('.cell-items-pagination-next').click(function() { update_page(1, true); });
|
|
391 | 395 |
update_page(0); |
392 | 396 |
$pagination.prop('hidden', null); |
393 | 397 |
}); |
394 |
- |