Commit e37b3e2fcc710067c74d00d3d89f4bfb05276d6f

Authored by Braulio Bhavamitra
1 parent 85cd639c

tokeninput: don't focus on init to avoid page scroll down

This happens for example on /admin/features with feature members_whitelist_enabled
with one member added, the page will load and scroll to token input
Showing 1 changed file with 6 additions and 6 deletions   Show diff stats
public/javascripts/jquery.tokeninput.js
... ... @@ -345,7 +345,7 @@ $.TokenList = function (input, url_or_data, options) {
345 345 dropdown.appendTo("body");
346 346 if (!settings.permanentDropdown)
347 347 dropdown.appendTo("body");
348   - else
  348 + else
349 349 $(input).after(dropdown.show());
350 350  
351 351 if (settings.permanentDropdown || settings.showAllResults) {
... ... @@ -382,7 +382,7 @@ $.TokenList = function (input, url_or_data, options) {
382 382 if(li_data && li_data.length) {
383 383 $.each(li_data, function (index, value) {
384 384 insert_token(value);
385   - checkTokenLimit();
  385 + checkTokenLimit({init: true});
386 386 });
387 387 }
388 388  
... ... @@ -425,12 +425,12 @@ $.TokenList = function (input, url_or_data, options) {
425 425 // Private functions
426 426 //
427 427  
428   - function checkTokenLimit() {
  428 + function checkTokenLimit(options) {
429 429 if(settings.tokenLimit !== null && token_count >= settings.tokenLimit) {
430 430 input_box.hide();
431 431 hide_dropdown();
432 432 return;
433   - } else {
  433 + } else if (options && !options.init) {
434 434 input_box.focus();
435 435 }
436 436 }
... ... @@ -618,7 +618,7 @@ $.TokenList = function (input, url_or_data, options) {
618 618 if (!settings.showAllResults)
619 619 dropdown.empty();
620 620 selected_dropdown_item = null;
621   - }
  621 + }
622 622 if (settings.showAllResults)
623 623 show_dropdown_hint();
624 624 }
... ... @@ -728,7 +728,7 @@ $.TokenList = function (input, url_or_data, options) {
728 728 item.addClass(settings.classes.selectedDropdownItem);
729 729 selected_dropdown_item = item.get(0);
730 730  
731   - isBefore = item[0].offsetTop <= (dropdown[0].scrollTop + dropdown[0].scrollWidth);
  731 + isBefore = item[0].offsetTop <= (dropdown[0].scrollTop + dropdown[0].scrollWidth);
732 732 isAfter = item[0].offsetTop >= dropdown[0].scrollTop;
733 733 visible = isBefore && isAfter;
734 734 if (!visible) {
... ...