1
0
mirror of synced 2024-12-01 17:16:02 +03:00

fix more hierarchical selection bugs. fixes #775

This commit is contained in:
Igor Vaynberg 2013-02-01 15:21:07 -08:00
parent ecbdc9305b
commit 8332d6a7e9
2 changed files with 14 additions and 6 deletions

View File

@ -337,13 +337,22 @@ Version: @@ver@@ Timestamp: @@timestamp@@
background: #3875d7; background: #3875d7;
color: #fff; color: #fff;
} }
.select2-results li em { .select2-results li em {
background: #feffde; background: #feffde;
font-style: normal; font-style: normal;
} }
.select2-results .select2-highlighted em { .select2-results .select2-highlighted em {
background: transparent; background: transparent;
} }
.select2-results .select2-highlighted ul {
background: white;
color: #000;
}
.select2-results .select2-no-results, .select2-results .select2-no-results,
.select2-results .select2-searching, .select2-results .select2-searching,
.select2-results .select2-selection-limit { .select2-results .select2-selection-limit {

View File

@ -1129,6 +1129,7 @@ the specific language governing permissions and limitations under the Apache Lic
// abstract // abstract
findHighlightableChoices: function() { findHighlightableChoices: function() {
var h=this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)");
return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)"); return this.results.find(".select2-result-selectable:not(.select2-selected):not(.select2-disabled)");
}, },
@ -1158,7 +1159,7 @@ the specific language governing permissions and limitations under the Apache Lic
if (index >= choices.length) index = choices.length - 1; if (index >= choices.length) index = choices.length - 1;
if (index < 0) index = 0; if (index < 0) index = 0;
choices.removeClass("select2-highlighted"); this.results.find(".select2-highlighted").removeClass("select2-highlighted");
$(choices[index]).addClass("select2-highlighted"); $(choices[index]).addClass("select2-highlighted");
this.ensureHighlightVisible(); this.ensureHighlightVisible();
@ -1378,8 +1379,8 @@ the specific language governing permissions and limitations under the Apache Lic
var index=this.highlight(), var index=this.highlight(),
highlighted=this.results.find(".select2-highlighted"), highlighted=this.results.find(".select2-highlighted"),
data = highlighted.closest('.select2-result').data("select2-data"); data = highlighted.closest('.select2-result').data("select2-data");
if (data) { if (data) {
highlighted.addClass("select2-selected");
this.highlight(index); this.highlight(index);
this.onSelect(data, options); this.onSelect(data, options);
} }
@ -2265,8 +2266,8 @@ the specific language governing permissions and limitations under the Apache Lic
var id = self.id(choice.data("select2-data")); var id = self.id(choice.data("select2-data"));
if (indexOf(id, val) >= 0) { if (indexOf(id, val) >= 0) {
choice.addClass("select2-selected"); choice.addClass("select2-selected");
} else { // mark all children of the selected parent as selected
choice.removeClass("select2-selected"); choice.find(".select2-result-selectable").addClass("select2-selected");
} }
}); });
@ -2275,8 +2276,6 @@ the specific language governing permissions and limitations under the Apache Lic
if (!choice.is('.select2-result-selectable') if (!choice.is('.select2-result-selectable')
&& choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) { && choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
choice.addClass("select2-selected"); choice.addClass("select2-selected");
} else {
choice.removeClass("select2-selected");
} }
}); });