# HG changeset patch # User Mads Kiilerich # Date 1469716489 -7200 # Node ID cc18e56220a26af536dd0e4988b4ee3990102330 # Parent 190cb30841de32c6d54516ebdb18ab969377499a compare: improve select2 performance with many branches Like elsewhere for pure branch selectors. diff -r 190cb30841de -r cc18e56220a2 kallithea/templates/compare/compare_diff.html --- a/kallithea/templates/compare/compare_diff.html Thu Jul 28 16:34:49 2016 +0200 +++ b/kallithea/templates/compare/compare_diff.html Thu Jul 28 16:34:49 2016 +0200 @@ -108,20 +108,25 @@ return '{0}@{1}'.format(repo_name, obj.text); }, dropdownAutoWidth: true, + maxResults: 50, query: function(query){ var key = cache_key; var cached = cache[key] ; if(cached) { var data = {results: []}; + var queryLower = query.term.toLowerCase(); //filter results $.each(cached.results, function(){ var section = this.text; var children = []; $.each(this.children, function(){ - if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){ + if(children.length < 50 ? + ((queryLower.length == 0) || (this.text.toLowerCase().indexOf(queryLower) >= 0)) : + ((queryLower.length != 0) && (this.text.toLowerCase().indexOf(queryLower) == 0))) { children.push(this); } }); + children = branchSort(children, undefined, query) data.results.push({'text': section, 'children': children}); }); //push the typed in changeset