|
536 | 536 | containerCssClass: "", |
537 | 537 | dropdownCssClass: "", |
538 | 538 | populateResults: function(container, results, query) { |
539 | | - var uidToData={}, populate, markup=[], uid, data, result, children, formatted; |
| 539 | + var uidToData={}, populate, markup=[], uid, data, result, children, formatted, id=this.opts.id; |
540 | 540 |
|
541 | 541 | populate=function(results, depth) { |
542 | 542 |
|
543 | 543 | var i, l, uid, result, selectable, compound; |
544 | 544 | for (i = 0, l = results.length; i < l; i = i + 1) { |
545 | 545 |
|
546 | 546 | result=results[i]; |
547 | | - selectable=("id" in result); // TODO switch to id() function |
| 547 | + selectable=id(result) !== undefined; |
548 | 548 | compound=("children" in result) && result.children.length > 0; |
549 | 549 |
|
550 | 550 | markup.push("<li class='select2-result-depth-"+depth); |
|
878 | 878 | matcher: this.opts.matcher, |
879 | 879 | callback: this.bind(function (data) { |
880 | 880 |
|
881 | | - self.opts.populateResults(results, data.results, {term: term, page: page, context:context}); |
| 881 | + self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context}); |
882 | 882 |
|
883 | 883 | if (data.more===true) { |
884 | 884 | more.detach(); |
|
952 | 952 | } |
953 | 953 |
|
954 | 954 | results.empty(); |
955 | | - self.opts.populateResults(results, data.results, {term: search.val(), page: this.resultsPage, context:null}); |
| 955 | + self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null}); |
956 | 956 | postRender(); |
957 | 957 |
|
958 | 958 | if (data.more === true) { |
|
0 commit comments