diff --git a/chosen/chosen.jquery.js b/chosen/chosen.jquery.js index 6ae8c87..491e791 100644 --- a/chosen/chosen.jquery.js +++ b/chosen/chosen.jquery.js @@ -1,7 +1,7 @@ // Chosen, a Select Box Enhancer for jQuery and Protoype // by Patrick Filler for Harvest, http://getharvest.com // -// Version 0.9.6 +// Version 0.9.7 // Full source at https://github.com/harvesthq/chosen // Copyright (c) 2011 Harvest http://getharvest.com @@ -9,11 +9,14 @@ // This file is generated by `cake build`, do not edit it by hand. (function() { var SelectParser; + SelectParser = (function() { + function SelectParser() { this.options_index = 0; this.parsed = []; } + SelectParser.prototype.add_node = function(child) { if (child.nodeName === "OPTGROUP") { return this.add_group(child); @@ -21,6 +24,7 @@ return this.add_option(child); } }; + SelectParser.prototype.add_group = function(group) { var group_position, option, _i, _len, _ref, _results; group_position = this.parsed.length; @@ -39,12 +43,11 @@ } return _results; }; + SelectParser.prototype.add_option = function(option, group_position, group_disabled) { if (option.nodeName === "OPTION") { if (option.text !== "") { - if (group_position != null) { - this.parsed[group_position].children += 1; - } + if (group_position != null) this.parsed[group_position].children += 1; this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, @@ -67,8 +70,11 @@ return this.options_index += 1; } }; + return SelectParser; + })(); + SelectParser.select_to_array = function(select) { var child, parser, _i, _len, _ref; parser = new SelectParser(); @@ -79,17 +85,23 @@ } return parser.parsed; }; + this.SelectParser = SelectParser; + }).call(this); + +/* +Chosen source: generate output using 'cake build' +Copyright (c) 2011 by Harvest +*/ + (function() { - /* - Chosen source: generate output using 'cake build' - Copyright (c) 2011 by Harvest - */ var AbstractChosen, root; - var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + root = this; + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { this.form_field = form_field; this.options = options != null ? options : {}; @@ -101,13 +113,15 @@ this.register_observers(); this.finish_setup(); } + AbstractChosen.prototype.set_default_values = function() { - this.click_test_action = __bind(function(evt) { - return this.test_active_click(evt); - }, this); - this.activate_action = __bind(function(evt) { - return this.activate_field(evt); - }, this); + var _this = this; + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; this.active_field = false; this.mouse_on_container = false; this.results_showing = false; @@ -118,52 +132,55 @@ this.choices = 0; return this.results_none_found = this.options.no_results_text || "No results match"; }; + AbstractChosen.prototype.mouse_enter = function() { return this.mouse_on_container = true; }; + AbstractChosen.prototype.mouse_leave = function() { return this.mouse_on_container = false; }; + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; if (!this.active_field) { - return setTimeout((__bind(function() { - return this.container_mousedown(); - }, this)), 50); + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); } }; + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; if (!this.mouse_on_container) { this.active_field = false; - return setTimeout((__bind(function() { - return this.blur_test(); - }, this)), 100); + return setTimeout((function() { + return _this.blur_test(); + }), 100); } }; + AbstractChosen.prototype.result_add_option = function(option) { var classes, style; if (!option.disabled) { option.dom_id = this.container_id + "_o_" + option.array_index; classes = option.selected && this.is_multiple ? [] : ["active-result"]; - if (option.selected) { - classes.push("result-selected"); - } - if (option.group_array_index != null) { - classes.push("group-option"); - } - if (option.classes !== "") { - classes.push(option.classes); - } + if (option.selected) classes.push("result-selected"); + if (option.group_array_index != null) classes.push("group-option"); + if (option.classes !== "") classes.push(option.classes); style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; return '
  • ' + option.html + '
  • '; } else { return ""; } }; + AbstractChosen.prototype.results_update_field = function() { this.result_clear_highlight(); this.result_single_selected = null; return this.results_build(); }; + AbstractChosen.prototype.results_toggle = function() { if (this.results_showing) { return this.results_hide(); @@ -171,6 +188,7 @@ return this.results_show(); } }; + AbstractChosen.prototype.results_search = function(evt) { if (this.results_showing) { return this.winnow_results(); @@ -178,6 +196,7 @@ return this.results_show(); } }; + AbstractChosen.prototype.keyup_checker = function(evt) { var stroke, _ref; stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; @@ -193,14 +212,10 @@ break; case 13: evt.preventDefault(); - if (this.results_showing) { - return this.result_select(evt); - } + if (this.results_showing) return this.result_select(evt); break; case 27: - if (this.results_showing) { - this.results_hide(); - } + if (this.results_showing) this.results_hide(); return true; case 9: case 38: @@ -213,62 +228,71 @@ return this.results_search(); } }; + AbstractChosen.prototype.generate_field_id = function() { var new_id; new_id = this.generate_random_id(); this.form_field.id = new_id; return new_id; }; + AbstractChosen.prototype.generate_random_char = function() { var chars, newchar, rand; chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ"; rand = Math.floor(Math.random() * chars.length); return newchar = chars.substring(rand, rand + 1); }; + return AbstractChosen; + })(); + root.AbstractChosen = AbstractChosen; + }).call(this); + +/* +Chosen source: generate output using 'cake build' +Copyright (c) 2011 by Harvest +*/ + (function() { - /* - Chosen source: generate output using 'cake build' - Copyright (c) 2011 by Harvest - */ - var $, Chosen, get_side_border_padding, root; - var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { - for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } - function ctor() { this.constructor = child; } - ctor.prototype = parent.prototype; - child.prototype = new ctor; - child.__super__ = parent.prototype; - return child; - }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + var $, Chosen, get_side_border_padding, root, + __hasProp = Object.prototype.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }; + root = this; + $ = jQuery; + $.fn.extend({ chosen: function(options) { if ($.browser.msie && ($.browser.version === "6.0" || $.browser.version === "7.0")) { return this; } return $(this).each(function(input_field) { - if (!($(this)).hasClass("chzn-done")) { - return new Chosen(this, options); - } + if (!($(this)).hasClass("chzn-done")) return new Chosen(this, options); }); } }); - Chosen = (function() { - __extends(Chosen, AbstractChosen); + + Chosen = (function(_super) { + + __extends(Chosen, _super); + function Chosen() { Chosen.__super__.constructor.apply(this, arguments); } + Chosen.prototype.setup = function() { this.form_field_jq = $(this.form_field); return this.is_rtl = this.form_field_jq.hasClass("chzn-rtl"); }; + Chosen.prototype.finish_setup = function() { return this.form_field_jq.addClass("chzn-done"); }; + Chosen.prototype.set_up_html = function() { var container_div, dd_top, dd_width, sf_width; this.container_id = this.form_field.id.length ? this.form_field.id.replace(/(:|\.)/g, '_') : this.generate_field_id(); @@ -316,53 +340,56 @@ chosen: this }); }; + Chosen.prototype.register_observers = function() { - this.container.mousedown(__bind(function(evt) { - return this.container_mousedown(evt); - }, this)); - this.container.mouseup(__bind(function(evt) { - return this.container_mouseup(evt); - }, this)); - this.container.mouseenter(__bind(function(evt) { - return this.mouse_enter(evt); - }, this)); - this.container.mouseleave(__bind(function(evt) { - return this.mouse_leave(evt); - }, this)); - this.search_results.mouseup(__bind(function(evt) { - return this.search_results_mouseup(evt); - }, this)); - this.search_results.mouseover(__bind(function(evt) { - return this.search_results_mouseover(evt); - }, this)); - this.search_results.mouseout(__bind(function(evt) { - return this.search_results_mouseout(evt); - }, this)); - this.form_field_jq.bind("liszt:updated", __bind(function(evt) { - return this.results_update_field(evt); - }, this)); - this.search_field.blur(__bind(function(evt) { - return this.input_blur(evt); - }, this)); - this.search_field.keyup(__bind(function(evt) { - return this.keyup_checker(evt); - }, this)); - this.search_field.keydown(__bind(function(evt) { - return this.keydown_checker(evt); - }, this)); + var _this = this; + this.container.mousedown(function(evt) { + return _this.container_mousedown(evt); + }); + this.container.mouseup(function(evt) { + return _this.container_mouseup(evt); + }); + this.container.mouseenter(function(evt) { + return _this.mouse_enter(evt); + }); + this.container.mouseleave(function(evt) { + return _this.mouse_leave(evt); + }); + this.search_results.mouseup(function(evt) { + return _this.search_results_mouseup(evt); + }); + this.search_results.mouseover(function(evt) { + return _this.search_results_mouseover(evt); + }); + this.search_results.mouseout(function(evt) { + return _this.search_results_mouseout(evt); + }); + this.form_field_jq.bind("liszt:updated", function(evt) { + return _this.results_update_field(evt); + }); + this.search_field.blur(function(evt) { + return _this.input_blur(evt); + }); + this.search_field.keyup(function(evt) { + return _this.keyup_checker(evt); + }); + this.search_field.keydown(function(evt) { + return _this.keydown_checker(evt); + }); if (this.is_multiple) { - this.search_choices.click(__bind(function(evt) { - return this.choices_click(evt); - }, this)); - return this.search_field.focus(__bind(function(evt) { - return this.input_focus(evt); - }, this)); + this.search_choices.click(function(evt) { + return _this.choices_click(evt); + }); + return this.search_field.focus(function(evt) { + return _this.input_focus(evt); + }); } else { - return this.container.click(__bind(function(evt) { + return this.container.click(function(evt) { return evt.preventDefault(); - }, this)); + }); } }; + Chosen.prototype.search_field_disabled = function() { this.is_disabled = this.form_field_jq[0].disabled; if (this.is_disabled) { @@ -380,18 +407,15 @@ } } }; + Chosen.prototype.container_mousedown = function(evt) { var target_closelink; if (!this.is_disabled) { target_closelink = evt != null ? ($(evt.target)).hasClass("search-choice-close") : false; - if (evt && evt.type === "mousedown") { - evt.stopPropagation(); - } + if (evt && evt.type === "mousedown") evt.stopPropagation(); if (!this.pending_destroy_click && !target_closelink) { if (!this.active_field) { - if (this.is_multiple) { - this.search_field.val(""); - } + if (this.is_multiple) this.search_field.val(""); $(document).click(this.click_test_action); this.results_show(); } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chzn-single").length)) { @@ -404,16 +428,17 @@ } } }; + Chosen.prototype.container_mouseup = function(evt) { - if (evt.target.nodeName === "ABBR") { - return this.results_reset(evt); - } + if (evt.target.nodeName === "ABBR") return this.results_reset(evt); }; + Chosen.prototype.blur_test = function(evt) { if (!this.active_field && this.container.hasClass("chzn-container-active")) { return this.close_field(); } }; + Chosen.prototype.close_field = function() { $(document).unbind("click", this.click_test_action); if (!this.is_multiple) { @@ -428,6 +453,7 @@ this.show_search_field_default(); return this.search_field_scale(); }; + Chosen.prototype.activate_field = function() { if (!this.is_multiple && !this.active_field) { this.search_field.attr("tabindex", this.selected_item.attr("tabindex")); @@ -438,6 +464,7 @@ this.search_field.val(this.search_field.val()); return this.search_field.focus(); }; + Chosen.prototype.test_active_click = function(evt) { if ($(evt.target).parents('#' + this.container_id).length) { return this.active_field = true; @@ -445,6 +472,7 @@ return this.close_field(); } }; + Chosen.prototype.results_build = function() { var content, data, _i, _len, _ref; this.parsing = true; @@ -472,9 +500,7 @@ this.choice_build(data); } else if (data.selected && !this.is_multiple) { this.selected_item.find("span").text(data.text); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } + if (this.allow_single_deselect) this.single_deselect_control_build(); } } } @@ -484,6 +510,7 @@ this.search_results.html(content); return this.parsing = false; }; + Chosen.prototype.result_add_group = function(group) { if (!group.disabled) { group.dom_id = this.container_id + "_g_" + group.array_index; @@ -492,6 +519,7 @@ return ""; } }; + Chosen.prototype.result_do_highlight = function(el) { var high_bottom, high_top, maxHeight, visible_bottom, visible_top; if (el.length) { @@ -510,12 +538,12 @@ } } }; + Chosen.prototype.result_clear_highlight = function() { - if (this.result_highlight) { - this.result_highlight.removeClass("highlighted"); - } + if (this.result_highlight) this.result_highlight.removeClass("highlighted"); return this.result_highlight = null; }; + Chosen.prototype.results_show = function() { var dd_top; if (!this.is_multiple) { @@ -534,6 +562,7 @@ this.search_field.val(this.search_field.val()); return this.winnow_results(); }; + Chosen.prototype.results_hide = function() { if (!this.is_multiple) { this.selected_item.removeClass("chzn-single-with-drop"); @@ -544,6 +573,7 @@ }); return this.results_showing = false; }; + Chosen.prototype.set_tab_index = function(el) { var ti; if (this.form_field_jq.attr("tabindex")) { @@ -557,6 +587,7 @@ } } }; + Chosen.prototype.show_search_field_default = function() { if (this.is_multiple && this.choices < 1 && !this.active_field) { this.search_field.val(this.default_text); @@ -566,6 +597,7 @@ return this.search_field.removeClass("default"); } }; + Chosen.prototype.search_results_mouseup = function(evt) { var target; target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); @@ -574,34 +606,38 @@ return this.result_select(evt); } }; + Chosen.prototype.search_results_mouseover = function(evt) { var target; target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); - if (target) { - return this.result_do_highlight(target); - } + if (target) return this.result_do_highlight(target); }; + Chosen.prototype.search_results_mouseout = function(evt) { if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { return this.result_clear_highlight(); } }; + Chosen.prototype.choices_click = function(evt) { evt.preventDefault(); if (this.active_field && !($(evt.target).hasClass("search-choice" || $(evt.target).parents('.search-choice').first)) && !this.results_showing) { return this.results_show(); } }; + Chosen.prototype.choice_build = function(item) { - var choice_id, link; + var choice_id, link, + _this = this; choice_id = this.container_id + "_c_" + item.array_index; this.choices += 1; this.search_container.before('
  • ' + item.html + '
  • '); link = $('#' + choice_id).find("a").first(); - return link.click(__bind(function(evt) { - return this.choice_destroy_link_click(evt); - }, this)); + return link.click(function(evt) { + return _this.choice_destroy_link_click(evt); + }); }; + Chosen.prototype.choice_destroy_link_click = function(evt) { evt.preventDefault(); if (!this.is_disabled) { @@ -611,6 +647,7 @@ return evt.stopPropagation; } }; + Chosen.prototype.choice_destroy = function(link) { this.choices -= 1; this.show_search_field_default(); @@ -620,16 +657,16 @@ this.result_deselect(link.attr("rel")); return link.parents('li').first().remove(); }; + Chosen.prototype.results_reset = function(evt) { this.form_field.options[0].selected = true; this.selected_item.find("span").text(this.default_text); this.show_search_field_default(); $(evt.target).remove(); this.form_field_jq.trigger("change"); - if (this.active_field) { - return this.results_hide(); - } + if (this.active_field) return this.results_hide(); }; + Chosen.prototype.result_select = function(evt) { var high, high_id, item, position; if (this.result_highlight) { @@ -651,24 +688,23 @@ this.choice_build(item); } else { this.selected_item.find("span").first().text(item.text); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } - } - if (!(evt.metaKey && this.is_multiple)) { - this.results_hide(); + if (this.allow_single_deselect) this.single_deselect_control_build(); } + if (!(evt.metaKey && this.is_multiple)) this.results_hide(); this.search_field.val(""); this.form_field_jq.trigger("change"); return this.search_field_scale(); } }; + Chosen.prototype.result_activate = function(el) { return el.addClass("active-result"); }; + Chosen.prototype.result_deactivate = function(el) { return el.removeClass("active-result"); }; + Chosen.prototype.result_deselect = function(pos) { var result, result_data; result_data = this.results_data[pos]; @@ -681,11 +717,13 @@ this.form_field_jq.trigger("change"); return this.search_field_scale(); }; + Chosen.prototype.single_deselect_control_build = function() { if (this.allow_single_deselect && this.selected_item.find("abbr").length < 1) { return this.selected_item.find("span").first().after(""); } }; + Chosen.prototype.winnow_results = function() { var found, option, part, parts, regex, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len2, _ref; this.no_results_clear(); @@ -746,6 +784,7 @@ return this.winnow_results_set_highlight(); } }; + Chosen.prototype.winnow_results_clear = function() { var li, lis, _i, _len, _results; this.search_field.val(""); @@ -754,46 +793,49 @@ for (_i = 0, _len = lis.length; _i < _len; _i++) { li = lis[_i]; li = $(li); - _results.push(li.hasClass("group-result") ? li.css('display', 'auto') : !this.is_multiple || !li.hasClass("result-selected") ? this.result_activate(li) : void 0); + if (li.hasClass("group-result")) { + _results.push(li.css('display', 'auto')); + } else if (!this.is_multiple || !li.hasClass("result-selected")) { + _results.push(this.result_activate(li)); + } else { + _results.push(void 0); + } } return _results; }; + Chosen.prototype.winnow_results_set_highlight = function() { var do_high, selected_results; if (!this.result_highlight) { selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); - if (do_high != null) { - return this.result_do_highlight(do_high); - } + if (do_high != null) return this.result_do_highlight(do_high); } }; + Chosen.prototype.no_results = function(terms) { var no_results_html; no_results_html = $('
  • ' + this.results_none_found + ' ""
  • '); no_results_html.find("span").first().html(terms); return this.search_results.append(no_results_html); }; + Chosen.prototype.no_results_clear = function() { return this.search_results.find(".no-results").remove(); }; + Chosen.prototype.keydown_arrow = function() { var first_active, next_sib; if (!this.result_highlight) { first_active = this.search_results.find("li.active-result").first(); - if (first_active) { - this.result_do_highlight($(first_active)); - } + if (first_active) this.result_do_highlight($(first_active)); } else if (this.results_showing) { next_sib = this.result_highlight.nextAll("li.active-result").first(); - if (next_sib) { - this.result_do_highlight(next_sib); - } - } - if (!this.results_showing) { - return this.results_show(); + if (next_sib) this.result_do_highlight(next_sib); } + if (!this.results_showing) return this.results_show(); }; + Chosen.prototype.keyup_arrow = function() { var prev_sibs; if (!this.results_showing && !this.is_multiple) { @@ -803,13 +845,12 @@ if (prev_sibs.length) { return this.result_do_highlight(prev_sibs.first()); } else { - if (this.choices > 0) { - this.results_hide(); - } + if (this.choices > 0) this.results_hide(); return this.result_clear_highlight(); } } }; + Chosen.prototype.keydown_backstroke = function() { if (this.pending_backstroke) { this.choice_destroy(this.pending_backstroke.find("a").first()); @@ -819,27 +860,25 @@ return this.pending_backstroke.addClass("search-choice-focus"); } }; + Chosen.prototype.clear_backstroke = function() { if (this.pending_backstroke) { this.pending_backstroke.removeClass("search-choice-focus"); } return this.pending_backstroke = null; }; + Chosen.prototype.keydown_checker = function(evt) { var stroke, _ref; stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; this.search_field_scale(); - if (stroke !== 8 && this.pending_backstroke) { - this.clear_backstroke(); - } + if (stroke !== 8 && this.pending_backstroke) this.clear_backstroke(); switch (stroke) { case 8: this.backstroke_length = this.search_field.val().length; break; case 9: - if (this.results_showing && !this.is_multiple) { - this.result_select(evt); - } + if (this.results_showing && !this.is_multiple) this.result_select(evt); this.mouse_on_container = false; break; case 13: @@ -854,6 +893,7 @@ break; } }; + Chosen.prototype.search_field_scale = function() { var dd_top, div, h, style, style_block, styles, w, _i, _len; if (this.is_multiple) { @@ -872,9 +912,7 @@ $('body').append(div); w = div.width() + 25; div.remove(); - if (w > this.f_width - 10) { - w = this.f_width - 10; - } + if (w > this.f_width - 10) w = this.f_width - 10; this.search_field.css({ 'width': w + 'px' }); @@ -884,6 +922,7 @@ }); } }; + Chosen.prototype.generate_random_id = function() { var string; string = "sel" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char(); @@ -892,11 +931,16 @@ } return string; }; + return Chosen; - })(); + + })(AbstractChosen); + get_side_border_padding = function(elmt) { var side_border_padding; return side_border_padding = elmt.outerWidth() - elmt.width(); }; + root.get_side_border_padding = get_side_border_padding; + }).call(this); diff --git a/chosen/chosen.jquery.min.js b/chosen/chosen.jquery.min.js index 7d505bd..930fb9a 100644 --- a/chosen/chosen.jquery.min.js +++ b/chosen/chosen.jquery.min.js @@ -1,10 +1,10 @@ // Chosen, a Select Box Enhancer for jQuery and Protoype // by Patrick Filler for Harvest, http://getharvest.com // -// Version 0.9.6 +// Version 0.9.7 // Full source at https://github.com/harvesthq/chosen // Copyright (c) 2011 Harvest http://getharvest.com // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md // This file is generated by `cake build`, do not edit it by hand. -(function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d,e=Object.prototype.hasOwnProperty,f=function(a,b){function d(){this.constructor=a}for(var c in b)e.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a},g=function(a,b){return function(){return a.apply(b,arguments)}};d=this,a=jQuery,a.fn.extend({chosen:function(c){return!a.browser.msie||a.browser.version!=="6.0"&&a.browser.version!=="7.0"?a(this).each(function(d){if(!a(this).hasClass("chzn-done"))return new b(this,c)}):this}}),b=function(){function b(){b.__super__.constructor.apply(this,arguments)}return f(b,AbstractChosen),b.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},b.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},b.prototype.set_up_html=function(){var b,d,e,f;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/(:|\.)/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),this.default_text=this.form_field_jq.data("placeholder")?this.form_field_jq.data("placeholder"):this.default_text_default,b=a("
    ",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?b.html('
      '):b.html(''+this.default_text+'
        '),this.form_field_jq.hide().after(b),this.container=a("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.find("div.chzn-drop").first(),d=this.container.height(),e=this.f_width-c(this.dropdown),this.dropdown.css({width:e+"px",top:d+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),f=e-c(this.search_container)-c(this.search_field),this.search_field.css({width:f+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},b.prototype.register_observers=function(){return this.container.mousedown(g(function(a){return this.container_mousedown(a)},this)),this.container.mouseup(g(function(a){return this.container_mouseup(a)},this)),this.container.mouseenter(g(function(a){return this.mouse_enter(a)},this)),this.container.mouseleave(g(function(a){return this.mouse_leave(a)},this)),this.search_results.mouseup(g(function(a){return this.search_results_mouseup(a)},this)),this.search_results.mouseover(g(function(a){return this.search_results_mouseover(a)},this)),this.search_results.mouseout(g(function(a){return this.search_results_mouseout(a)},this)),this.form_field_jq.bind("liszt:updated",g(function(a){return this.results_update_field(a)},this)),this.search_field.blur(g(function(a){return this.input_blur(a)},this)),this.search_field.keyup(g(function(a){return this.keyup_checker(a)},this)),this.search_field.keydown(g(function(a){return this.keydown_checker(a)},this)),this.is_multiple?(this.search_choices.click(g(function(a){return this.choices_click(a)},this)),this.search_field.focus(g(function(a){return this.input_focus(a)},this))):this.container.click(g(function(a){return a.preventDefault()},this))},b.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},b.prototype.container_mousedown=function(b){var c;if(!this.is_disabled)return c=b!=null?a(b.target).hasClass("search-choice-close"):!1,b&&b.type==="mousedown"&&b.stopPropagation(),!this.pending_destroy_click&&!c?(this.active_field?!this.is_multiple&&b&&(a(b.target)[0]===this.selected_item[0]||a(b.target).parents("a.chzn-single").length)&&(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},b.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR")return this.results_reset(a)},b.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},b.prototype.close_field=function(){return a(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},b.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},b.prototype.test_active_click=function(b){return a(b.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},b.prototype.results_build=function(){var a,b,c,e,f;this.parsing=!0,this.results_data=d.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.find("span").text(this.default_text),this.form_field.options.length>this.disable_search_threshold?this.container.removeClass("chzn-container-single-nosearch"):this.container.addClass("chzn-container-single-nosearch")),a="",f=this.results_data;for(c=0,e=f.length;c'+a("
        ").text(b.label).html()+"")},b.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight();if(b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(c'+b.html+''),d=a("#"+c).find("a").first(),d.click(g(function(a){return this.choice_destroy_link_click(a)},this))},b.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),this.is_disabled?b.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(a(b.target)))},b.prototype.choice_destroy=function(a){return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),this.result_deselect(a.attr("rel")),a.parents("li").first().remove()},b.prototype.results_reset=function(b){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.show_search_field_default(),a(b.target).remove(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},b.prototype.result_select=function(a){var b,c,d,e;if(this.result_highlight)return b=this.result_highlight,c=b.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=b),b.addClass("result-selected"),e=c.substr(c.lastIndexOf("_")+1),d=this.results_data[e],d.selected=!0,this.form_field.options[d.options_index].selected=!0,this.is_multiple?this.choice_build(d):(this.selected_item.find("span").first().text(d.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),this.form_field_jq.trigger("change"),this.search_field_scale()},b.prototype.result_activate=function(a){return a.addClass("active-result")},b.prototype.result_deactivate=function(a){return a.removeClass("active-result")},b.prototype.result_deselect=function(b){var c,d;return d=this.results_data[b],d.selected=!1,this.form_field.options[d.options_index].selected=!1,c=a("#"+this.container_id+"_o_"+b),c.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change"),this.search_field_scale()},b.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},b.prototype.winnow_results=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;this.no_results_clear(),i=0,j=this.search_field.val()===this.default_text?"":a("
        ").text(a.trim(this.search_field.val())).html(),f=new RegExp("^"+j.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),m=new RegExp(j.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),r=this.results_data;for(n=0,p=r.length;n=0||c.html.indexOf("[")===0){e=c.html.replace(/\[|\]/g,"").split(" ");if(e.length)for(o=0,q=e.length;o"+c.html.substr(k+j.length),l=l.substr(0,k)+""+l.substr(k)):l=c.html,g.html(l),this.result_activate(g),c.group_array_index!=null&&a("#"+this.results_data[c.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&h===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(g))}}return i<1&&j.length?this.no_results(j):this.winnow_results_set_highlight()},b.prototype.winnow_results_clear=function(){var b,c,d,e,f;this.search_field.val(""),c=this.search_results.find("li"),f=[];for(d=0,e=c.length;d'+this.results_none_found+' ""'),c.find("span").first().html(b),this.search_results.append(c)},b.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},b.prototype.keydown_arrow=function(){var b,c;this.result_highlight?this.results_showing&&(c=this.result_highlight.nextAll("li.active-result").first(),c&&this.result_do_highlight(c)):(b=this.search_results.find("li.active-result").first(),b&&this.result_do_highlight(a(b)));if(!this.results_showing)return this.results_show()},b.prototype.keyup_arrow=function(){var a;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},b.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.pending_backstroke.addClass("search-choice-focus"))},b.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},b.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},b.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=g.length;i",{style:f}),c.text(this.search_field.val()),a("body").append(c),h=c.width()+25,c.remove(),h>this.f_width-10&&(h=this.f_width-10),this.search_field.css({width:h+"px"}),b=this.container.height(),this.dropdown.css({top:b+"px"})}},b.prototype.generate_random_id=function(){var b;b="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+b).length>0)b+=this.generate_random_char();return b},b}(),c=function(a){var b;return b=a.outerWidth()-a.width()},d.get_side_border_padding=c}.call(this) \ No newline at end of file +((function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d,e=Object.prototype.hasOwnProperty,f=function(a,b){function d(){this.constructor=a}for(var c in b)e.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};d=this,a=jQuery,a.fn.extend({chosen:function(c){return!a.browser.msie||a.browser.version!=="6.0"&&a.browser.version!=="7.0"?a(this).each(function(d){if(!a(this).hasClass("chzn-done"))return new b(this,c)}):this}}),b=function(b){function e(){e.__super__.constructor.apply(this,arguments)}return f(e,b),e.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},e.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},e.prototype.set_up_html=function(){var b,d,e,f;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/(:|\.)/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),this.default_text=this.form_field_jq.data("placeholder")?this.form_field_jq.data("placeholder"):this.default_text_default,b=a("
        ",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?b.html('
          '):b.html(''+this.default_text+'
            '),this.form_field_jq.hide().after(b),this.container=a("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.find("div.chzn-drop").first(),d=this.container.height(),e=this.f_width-c(this.dropdown),this.dropdown.css({width:e+"px",top:d+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),f=e-c(this.search_container)-c(this.search_field),this.search_field.css({width:f+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},e.prototype.register_observers=function(){var a=this;return this.container.mousedown(function(b){return a.container_mousedown(b)}),this.container.mouseup(function(b){return a.container_mouseup(b)}),this.container.mouseenter(function(b){return a.mouse_enter(b)}),this.container.mouseleave(function(b){return a.mouse_leave(b)}),this.search_results.mouseup(function(b){return a.search_results_mouseup(b)}),this.search_results.mouseover(function(b){return a.search_results_mouseover(b)}),this.search_results.mouseout(function(b){return a.search_results_mouseout(b)}),this.form_field_jq.bind("liszt:updated",function(b){return a.results_update_field(b)}),this.search_field.blur(function(b){return a.input_blur(b)}),this.search_field.keyup(function(b){return a.keyup_checker(b)}),this.search_field.keydown(function(b){return a.keydown_checker(b)}),this.is_multiple?(this.search_choices.click(function(b){return a.choices_click(b)}),this.search_field.focus(function(b){return a.input_focus(b)})):this.container.click(function(a){return a.preventDefault()})},e.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},e.prototype.container_mousedown=function(b){var c;if(!this.is_disabled)return c=b!=null?a(b.target).hasClass("search-choice-close"):!1,b&&b.type==="mousedown"&&b.stopPropagation(),!this.pending_destroy_click&&!c?(this.active_field?!this.is_multiple&&b&&(a(b.target)[0]===this.selected_item[0]||a(b.target).parents("a.chzn-single").length)&&(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},e.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR")return this.results_reset(a)},e.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},e.prototype.close_field=function(){return a(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},e.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(b){return a(b.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){var a,b,c,e,f;this.parsing=!0,this.results_data=d.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.find("span").text(this.default_text),this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),a="",f=this.results_data;for(c=0,e=f.length;c'+a("
            ").text(b.label).html()+"")},e.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight();if(b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(c'+b.html+''),d=a("#"+c).find("a").first(),d.click(function(a){return e.choice_destroy_link_click(a)})},e.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),this.is_disabled?b.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(a(b.target)))},e.prototype.choice_destroy=function(a){return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),this.result_deselect(a.attr("rel")),a.parents("li").first().remove()},e.prototype.results_reset=function(b){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.show_search_field_default(),a(b.target).remove(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},e.prototype.result_select=function(a){var b,c,d,e;if(this.result_highlight)return b=this.result_highlight,c=b.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=b),b.addClass("result-selected"),e=c.substr(c.lastIndexOf("_")+1),d=this.results_data[e],d.selected=!0,this.form_field.options[d.options_index].selected=!0,this.is_multiple?this.choice_build(d):(this.selected_item.find("span").first().text(d.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),this.form_field_jq.trigger("change"),this.search_field_scale()},e.prototype.result_activate=function(a){return a.addClass("active-result")},e.prototype.result_deactivate=function(a){return a.removeClass("active-result")},e.prototype.result_deselect=function(b){var c,d;return d=this.results_data[b],d.selected=!1,this.form_field.options[d.options_index].selected=!1,c=a("#"+this.container_id+"_o_"+b),c.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change"),this.search_field_scale()},e.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},e.prototype.winnow_results=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;this.no_results_clear(),i=0,j=this.search_field.val()===this.default_text?"":a("
            ").text(a.trim(this.search_field.val())).html(),f=new RegExp("^"+j.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),m=new RegExp(j.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),r=this.results_data;for(n=0,p=r.length;n=0||c.html.indexOf("[")===0){e=c.html.replace(/\[|\]/g,"").split(" ");if(e.length)for(o=0,q=e.length;o"+c.html.substr(k+j.length),l=l.substr(0,k)+""+l.substr(k)):l=c.html,g.html(l),this.result_activate(g),c.group_array_index!=null&&a("#"+this.results_data[c.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&h===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(g))}}return i<1&&j.length?this.no_results(j):this.winnow_results_set_highlight()},e.prototype.winnow_results_clear=function(){var b,c,d,e,f;this.search_field.val(""),c=this.search_results.find("li"),f=[];for(d=0,e=c.length;d'+this.results_none_found+' ""'),c.find("span").first().html(b),this.search_results.append(c)},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var b,c;this.result_highlight?this.results_showing&&(c=this.result_highlight.nextAll("li.active-result").first(),c&&this.result_do_highlight(c)):(b=this.search_results.find("li.active-result").first(),b&&this.result_do_highlight(a(b)));if(!this.results_showing)return this.results_show()},e.prototype.keyup_arrow=function(){var a;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},e.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.pending_backstroke.addClass("search-choice-focus"))},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},e.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=g.length;i",{style:f}),c.text(this.search_field.val()),a("body").append(c),h=c.width()+25,c.remove(),h>this.f_width-10&&(h=this.f_width-10),this.search_field.css({width:h+"px"}),b=this.container.height(),this.dropdown.css({top:b+"px"})}},e.prototype.generate_random_id=function(){var b;b="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+b).length>0)b+=this.generate_random_char();return b},e}(AbstractChosen),c=function(a){var b;return b=a.outerWidth()-a.width()},d.get_side_border_padding=c}.call(this) \ No newline at end of file diff --git a/chosen/chosen.proto.js b/chosen/chosen.proto.js index 4305369..e141a69 100644 --- a/chosen/chosen.proto.js +++ b/chosen/chosen.proto.js @@ -1,7 +1,7 @@ // Chosen, a Select Box Enhancer for jQuery and Protoype // by Patrick Filler for Harvest, http://getharvest.com // -// Version 0.9.6 +// Version 0.9.7 // Full source at https://github.com/harvesthq/chosen // Copyright (c) 2011 Harvest http://getharvest.com @@ -9,11 +9,14 @@ // This file is generated by `cake build`, do not edit it by hand. (function() { var SelectParser; + SelectParser = (function() { + function SelectParser() { this.options_index = 0; this.parsed = []; } + SelectParser.prototype.add_node = function(child) { if (child.nodeName === "OPTGROUP") { return this.add_group(child); @@ -21,6 +24,7 @@ return this.add_option(child); } }; + SelectParser.prototype.add_group = function(group) { var group_position, option, _i, _len, _ref, _results; group_position = this.parsed.length; @@ -39,12 +43,11 @@ } return _results; }; + SelectParser.prototype.add_option = function(option, group_position, group_disabled) { if (option.nodeName === "OPTION") { if (option.text !== "") { - if (group_position != null) { - this.parsed[group_position].children += 1; - } + if (group_position != null) this.parsed[group_position].children += 1; this.parsed.push({ array_index: this.parsed.length, options_index: this.options_index, @@ -67,8 +70,11 @@ return this.options_index += 1; } }; + return SelectParser; + })(); + SelectParser.select_to_array = function(select) { var child, parser, _i, _len, _ref; parser = new SelectParser(); @@ -79,17 +85,23 @@ } return parser.parsed; }; + this.SelectParser = SelectParser; + }).call(this); + +/* +Chosen source: generate output using 'cake build' +Copyright (c) 2011 by Harvest +*/ + (function() { - /* - Chosen source: generate output using 'cake build' - Copyright (c) 2011 by Harvest - */ var AbstractChosen, root; - var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + root = this; + AbstractChosen = (function() { + function AbstractChosen(form_field, options) { this.form_field = form_field; this.options = options != null ? options : {}; @@ -101,13 +113,15 @@ this.register_observers(); this.finish_setup(); } + AbstractChosen.prototype.set_default_values = function() { - this.click_test_action = __bind(function(evt) { - return this.test_active_click(evt); - }, this); - this.activate_action = __bind(function(evt) { - return this.activate_field(evt); - }, this); + var _this = this; + this.click_test_action = function(evt) { + return _this.test_active_click(evt); + }; + this.activate_action = function(evt) { + return _this.activate_field(evt); + }; this.active_field = false; this.mouse_on_container = false; this.results_showing = false; @@ -118,52 +132,55 @@ this.choices = 0; return this.results_none_found = this.options.no_results_text || "No results match"; }; + AbstractChosen.prototype.mouse_enter = function() { return this.mouse_on_container = true; }; + AbstractChosen.prototype.mouse_leave = function() { return this.mouse_on_container = false; }; + AbstractChosen.prototype.input_focus = function(evt) { + var _this = this; if (!this.active_field) { - return setTimeout((__bind(function() { - return this.container_mousedown(); - }, this)), 50); + return setTimeout((function() { + return _this.container_mousedown(); + }), 50); } }; + AbstractChosen.prototype.input_blur = function(evt) { + var _this = this; if (!this.mouse_on_container) { this.active_field = false; - return setTimeout((__bind(function() { - return this.blur_test(); - }, this)), 100); + return setTimeout((function() { + return _this.blur_test(); + }), 100); } }; + AbstractChosen.prototype.result_add_option = function(option) { var classes, style; if (!option.disabled) { option.dom_id = this.container_id + "_o_" + option.array_index; classes = option.selected && this.is_multiple ? [] : ["active-result"]; - if (option.selected) { - classes.push("result-selected"); - } - if (option.group_array_index != null) { - classes.push("group-option"); - } - if (option.classes !== "") { - classes.push(option.classes); - } + if (option.selected) classes.push("result-selected"); + if (option.group_array_index != null) classes.push("group-option"); + if (option.classes !== "") classes.push(option.classes); style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; return '
          • ' + option.html + '
          • '; } else { return ""; } }; + AbstractChosen.prototype.results_update_field = function() { this.result_clear_highlight(); this.result_single_selected = null; return this.results_build(); }; + AbstractChosen.prototype.results_toggle = function() { if (this.results_showing) { return this.results_hide(); @@ -171,6 +188,7 @@ return this.results_show(); } }; + AbstractChosen.prototype.results_search = function(evt) { if (this.results_showing) { return this.winnow_results(); @@ -178,6 +196,7 @@ return this.results_show(); } }; + AbstractChosen.prototype.keyup_checker = function(evt) { var stroke, _ref; stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; @@ -193,14 +212,10 @@ break; case 13: evt.preventDefault(); - if (this.results_showing) { - return this.result_select(evt); - } + if (this.results_showing) return this.result_select(evt); break; case 27: - if (this.results_showing) { - this.results_hide(); - } + if (this.results_showing) this.results_hide(); return true; case 9: case 38: @@ -213,48 +228,57 @@ return this.results_search(); } }; + AbstractChosen.prototype.generate_field_id = function() { var new_id; new_id = this.generate_random_id(); this.form_field.id = new_id; return new_id; }; + AbstractChosen.prototype.generate_random_char = function() { var chars, newchar, rand; chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ"; rand = Math.floor(Math.random() * chars.length); return newchar = chars.substring(rand, rand + 1); }; + return AbstractChosen; + })(); + root.AbstractChosen = AbstractChosen; + }).call(this); + +/* +Chosen source: generate output using 'cake build' +Copyright (c) 2011 by Harvest +*/ + (function() { - /* - Chosen source: generate output using 'cake build' - Copyright (c) 2011 by Harvest - */ - var Chosen, get_side_border_padding, root; - var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { - for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } - function ctor() { this.constructor = child; } - ctor.prototype = parent.prototype; - child.prototype = new ctor; - child.__super__ = parent.prototype; - return child; - }, __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + var Chosen, get_side_border_padding, root, + __hasProp = Object.prototype.hasOwnProperty, + __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child; }; + root = this; - Chosen = (function() { - __extends(Chosen, AbstractChosen); + + Chosen = (function(_super) { + + __extends(Chosen, _super); + function Chosen() { Chosen.__super__.constructor.apply(this, arguments); } + Chosen.prototype.setup = function() { return this.is_rtl = this.form_field.hasClassName("chzn-rtl"); }; + Chosen.prototype.finish_setup = function() { return this.form_field.addClassName("chzn-done"); }; + Chosen.prototype.set_default_values = function() { Chosen.__super__.set_default_values.call(this); this.single_temp = new Template('#{default}
              '); @@ -262,6 +286,7 @@ this.choice_temp = new Template('
            • #{choice}
            • '); return this.no_results_temp = new Template('
            • ' + this.results_none_found + ' "#{terms}"
            • '); }; + Chosen.prototype.set_up_html = function() { var base_template, container_props, dd_top, dd_width, sf_width; this.container_id = this.form_field.identify().replace(/(:|\.)/g, '_') + "_chzn"; @@ -310,53 +335,56 @@ chosen: this }); }; + Chosen.prototype.register_observers = function() { - this.container.observe("mousedown", __bind(function(evt) { - return this.container_mousedown(evt); - }, this)); - this.container.observe("mouseup", __bind(function(evt) { - return this.container_mouseup(evt); - }, this)); - this.container.observe("mouseenter", __bind(function(evt) { - return this.mouse_enter(evt); - }, this)); - this.container.observe("mouseleave", __bind(function(evt) { - return this.mouse_leave(evt); - }, this)); - this.search_results.observe("mouseup", __bind(function(evt) { - return this.search_results_mouseup(evt); - }, this)); - this.search_results.observe("mouseover", __bind(function(evt) { - return this.search_results_mouseover(evt); - }, this)); - this.search_results.observe("mouseout", __bind(function(evt) { - return this.search_results_mouseout(evt); - }, this)); - this.form_field.observe("liszt:updated", __bind(function(evt) { - return this.results_update_field(evt); - }, this)); - this.search_field.observe("blur", __bind(function(evt) { - return this.input_blur(evt); - }, this)); - this.search_field.observe("keyup", __bind(function(evt) { - return this.keyup_checker(evt); - }, this)); - this.search_field.observe("keydown", __bind(function(evt) { - return this.keydown_checker(evt); - }, this)); + var _this = this; + this.container.observe("mousedown", function(evt) { + return _this.container_mousedown(evt); + }); + this.container.observe("mouseup", function(evt) { + return _this.container_mouseup(evt); + }); + this.container.observe("mouseenter", function(evt) { + return _this.mouse_enter(evt); + }); + this.container.observe("mouseleave", function(evt) { + return _this.mouse_leave(evt); + }); + this.search_results.observe("mouseup", function(evt) { + return _this.search_results_mouseup(evt); + }); + this.search_results.observe("mouseover", function(evt) { + return _this.search_results_mouseover(evt); + }); + this.search_results.observe("mouseout", function(evt) { + return _this.search_results_mouseout(evt); + }); + this.form_field.observe("liszt:updated", function(evt) { + return _this.results_update_field(evt); + }); + this.search_field.observe("blur", function(evt) { + return _this.input_blur(evt); + }); + this.search_field.observe("keyup", function(evt) { + return _this.keyup_checker(evt); + }); + this.search_field.observe("keydown", function(evt) { + return _this.keydown_checker(evt); + }); if (this.is_multiple) { - this.search_choices.observe("click", __bind(function(evt) { - return this.choices_click(evt); - }, this)); - return this.search_field.observe("focus", __bind(function(evt) { - return this.input_focus(evt); - }, this)); + this.search_choices.observe("click", function(evt) { + return _this.choices_click(evt); + }); + return this.search_field.observe("focus", function(evt) { + return _this.input_focus(evt); + }); } else { - return this.container.observe("click", __bind(function(evt) { + return this.container.observe("click", function(evt) { return evt.preventDefault(); - }, this)); + }); } }; + Chosen.prototype.search_field_disabled = function() { this.is_disabled = this.form_field.disabled; if (this.is_disabled) { @@ -374,18 +402,15 @@ } } }; + Chosen.prototype.container_mousedown = function(evt) { var target_closelink; if (!this.is_disabled) { target_closelink = evt != null ? evt.target.hasClassName("search-choice-close") : false; - if (evt && evt.type === "mousedown") { - evt.stop(); - } + if (evt && evt.type === "mousedown") evt.stop(); if (!this.pending_destroy_click && !target_closelink) { if (!this.active_field) { - if (this.is_multiple) { - this.search_field.clear(); - } + if (this.is_multiple) this.search_field.clear(); document.observe("click", this.click_test_action); this.results_show(); } else if (!this.is_multiple && evt && (evt.target === this.selected_item || evt.target.up("a.chzn-single"))) { @@ -397,16 +422,17 @@ } } }; + Chosen.prototype.container_mouseup = function(evt) { - if (evt.target.nodeName === "ABBR") { - return this.results_reset(evt); - } + if (evt.target.nodeName === "ABBR") return this.results_reset(evt); }; + Chosen.prototype.blur_test = function(evt) { if (!this.active_field && this.container.hasClassName("chzn-container-active")) { return this.close_field(); } }; + Chosen.prototype.close_field = function() { document.stopObserving("click", this.click_test_action); if (!this.is_multiple) { @@ -421,6 +447,7 @@ this.show_search_field_default(); return this.search_field_scale(); }; + Chosen.prototype.activate_field = function() { if (!this.is_multiple && !this.active_field) { this.search_field.tabIndex = this.selected_item.tabIndex; @@ -431,6 +458,7 @@ this.search_field.value = this.search_field.value; return this.search_field.focus(); }; + Chosen.prototype.test_active_click = function(evt) { if (evt.target.up('#' + this.container_id)) { return this.active_field = true; @@ -438,6 +466,7 @@ return this.close_field(); } }; + Chosen.prototype.results_build = function() { var content, data, _i, _len, _ref; this.parsing = true; @@ -465,9 +494,7 @@ this.choice_build(data); } else if (data.selected && !this.is_multiple) { this.selected_item.down("span").update(data.html); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } + if (this.allow_single_deselect) this.single_deselect_control_build(); } } } @@ -477,6 +504,7 @@ this.search_results.update(content); return this.parsing = false; }; + Chosen.prototype.result_add_group = function(group) { if (!group.disabled) { group.dom_id = this.container_id + "_g_" + group.array_index; @@ -485,6 +513,7 @@ return ""; } }; + Chosen.prototype.result_do_highlight = function(el) { var high_bottom, high_top, maxHeight, visible_bottom, visible_top; this.result_clear_highlight(); @@ -501,12 +530,14 @@ return this.search_results.scrollTop = high_top; } }; + Chosen.prototype.result_clear_highlight = function() { if (this.result_highlight) { this.result_highlight.removeClassName('highlighted'); } return this.result_highlight = null; }; + Chosen.prototype.results_show = function() { var dd_top; if (!this.is_multiple) { @@ -525,6 +556,7 @@ this.search_field.value = this.search_field.value; return this.winnow_results(); }; + Chosen.prototype.results_hide = function() { if (!this.is_multiple) { this.selected_item.removeClassName('chzn-single-with-drop'); @@ -535,6 +567,7 @@ }); return this.results_showing = false; }; + Chosen.prototype.set_tab_index = function(el) { var ti; if (this.form_field.tabIndex) { @@ -548,6 +581,7 @@ } } }; + Chosen.prototype.show_search_field_default = function() { if (this.is_multiple && this.choices < 1 && !this.active_field) { this.search_field.value = this.default_text; @@ -557,6 +591,7 @@ return this.search_field.removeClassName("default"); } }; + Chosen.prototype.search_results_mouseup = function(evt) { var target; target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result"); @@ -565,26 +600,29 @@ return this.result_select(evt); } }; + Chosen.prototype.search_results_mouseover = function(evt) { var target; target = evt.target.hasClassName("active-result") ? evt.target : evt.target.up(".active-result"); - if (target) { - return this.result_do_highlight(target); - } + if (target) return this.result_do_highlight(target); }; + Chosen.prototype.search_results_mouseout = function(evt) { if (evt.target.hasClassName('active-result') || evt.target.up('.active-result')) { return this.result_clear_highlight(); } }; + Chosen.prototype.choices_click = function(evt) { evt.preventDefault(); if (this.active_field && !(evt.target.hasClassName('search-choice') || evt.target.up('.search-choice')) && !this.results_showing) { return this.results_show(); } }; + Chosen.prototype.choice_build = function(item) { - var choice_id, link; + var choice_id, link, + _this = this; choice_id = this.container_id + "_c_" + item.array_index; this.choices += 1; this.search_container.insert({ @@ -595,10 +633,11 @@ }) }); link = $(choice_id).down('a'); - return link.observe("click", __bind(function(evt) { - return this.choice_destroy_link_click(evt); - }, this)); + return link.observe("click", function(evt) { + return _this.choice_destroy_link_click(evt); + }); }; + Chosen.prototype.choice_destroy_link_click = function(evt) { evt.preventDefault(); if (!this.is_disabled) { @@ -606,6 +645,7 @@ return this.choice_destroy(evt.target); } }; + Chosen.prototype.choice_destroy = function(link) { this.choices -= 1; this.show_search_field_default(); @@ -615,18 +655,16 @@ this.result_deselect(link.readAttribute("rel")); return link.up('li').remove(); }; + Chosen.prototype.results_reset = function(evt) { this.form_field.options[0].selected = true; this.selected_item.down("span").update(this.default_text); this.show_search_field_default(); evt.target.remove(); - if (typeof Event.simulate === 'function') { - this.form_field.simulate("change"); - } - if (this.active_field) { - return this.results_hide(); - } + if (typeof Event.simulate === 'function') this.form_field.simulate("change"); + if (this.active_field) return this.results_hide(); }; + Chosen.prototype.result_select = function(evt) { var high, item, position; if (this.result_highlight) { @@ -647,13 +685,9 @@ this.choice_build(item); } else { this.selected_item.down("span").update(item.html); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } - } - if (!(evt.metaKey && this.is_multiple)) { - this.results_hide(); + if (this.allow_single_deselect) this.single_deselect_control_build(); } + if (!(evt.metaKey && this.is_multiple)) this.results_hide(); this.search_field.value = ""; if (typeof Event.simulate === 'function') { this.form_field.simulate("change"); @@ -661,12 +695,15 @@ return this.search_field_scale(); } }; + Chosen.prototype.result_activate = function(el) { return el.addClassName("active-result"); }; + Chosen.prototype.result_deactivate = function(el) { return el.removeClassName("active-result"); }; + Chosen.prototype.result_deselect = function(pos) { var result, result_data; result_data = this.results_data[pos]; @@ -676,11 +713,10 @@ result.removeClassName("result-selected").addClassName("active-result").show(); this.result_clear_highlight(); this.winnow_results(); - if (typeof Event.simulate === 'function') { - this.form_field.simulate("change"); - } + if (typeof Event.simulate === 'function') this.form_field.simulate("change"); return this.search_field_scale(); }; + Chosen.prototype.single_deselect_control_build = function() { if (this.allow_single_deselect && !this.selected_item.down("abbr")) { return this.selected_item.down("span").insert({ @@ -688,6 +724,7 @@ }); } }; + Chosen.prototype.winnow_results = function() { var found, option, part, parts, regex, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len2, _ref; this.no_results_clear(); @@ -727,9 +764,7 @@ } else { text = option.html; } - if ($(result_id).innerHTML !== text) { - $(result_id).update(text); - } + if ($(result_id).innerHTML !== text) $(result_id).update(text); this.result_activate($(result_id)); if (option.group_array_index != null) { $(this.results_data[option.group_array_index].dom_id).setStyle({ @@ -751,6 +786,7 @@ return this.winnow_results_set_highlight(); } }; + Chosen.prototype.winnow_results_clear = function() { var li, lis, _i, _len, _results; this.search_field.clear(); @@ -758,10 +794,17 @@ _results = []; for (_i = 0, _len = lis.length; _i < _len; _i++) { li = lis[_i]; - _results.push(li.hasClassName("group-result") ? li.show() : !this.is_multiple || !li.hasClassName("result-selected") ? this.result_activate(li) : void 0); + if (li.hasClassName("group-result")) { + _results.push(li.show()); + } else if (!this.is_multiple || !li.hasClassName("result-selected")) { + _results.push(this.result_activate(li)); + } else { + _results.push(void 0); + } } return _results; }; + Chosen.prototype.winnow_results_set_highlight = function() { var do_high; if (!this.result_highlight) { @@ -771,16 +814,16 @@ if (!(do_high != null)) { do_high = this.search_results.down(".active-result"); } - if (do_high != null) { - return this.result_do_highlight(do_high); - } + if (do_high != null) return this.result_do_highlight(do_high); } }; + Chosen.prototype.no_results = function(terms) { return this.search_results.insert(this.no_results_temp.evaluate({ terms: terms })); }; + Chosen.prototype.no_results_clear = function() { var nr, _results; nr = null; @@ -790,6 +833,7 @@ } return _results; }; + Chosen.prototype.keydown_arrow = function() { var actives, nexts, sibs; actives = this.search_results.select("li.active-result"); @@ -799,15 +843,12 @@ } else if (this.results_showing) { sibs = this.result_highlight.nextSiblings(); nexts = sibs.intersect(actives); - if (nexts.length) { - this.result_do_highlight(nexts.first()); - } - } - if (!this.results_showing) { - return this.results_show(); + if (nexts.length) this.result_do_highlight(nexts.first()); } + if (!this.results_showing) return this.results_show(); } }; + Chosen.prototype.keyup_arrow = function() { var actives, prevs, sibs; if (!this.results_showing && !this.is_multiple) { @@ -819,13 +860,12 @@ if (prevs.length) { return this.result_do_highlight(prevs.first()); } else { - if (this.choices > 0) { - this.results_hide(); - } + if (this.choices > 0) this.results_hide(); return this.result_clear_highlight(); } } }; + Chosen.prototype.keydown_backstroke = function() { if (this.pending_backstroke) { this.choice_destroy(this.pending_backstroke.down("a")); @@ -835,27 +875,25 @@ return this.pending_backstroke.addClassName("search-choice-focus"); } }; + Chosen.prototype.clear_backstroke = function() { if (this.pending_backstroke) { this.pending_backstroke.removeClassName("search-choice-focus"); } return this.pending_backstroke = null; }; + Chosen.prototype.keydown_checker = function(evt) { var stroke, _ref; stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; this.search_field_scale(); - if (stroke !== 8 && this.pending_backstroke) { - this.clear_backstroke(); - } + if (stroke !== 8 && this.pending_backstroke) this.clear_backstroke(); switch (stroke) { case 8: this.backstroke_length = this.search_field.value.length; break; case 9: - if (this.results_showing && !this.is_multiple) { - this.result_select(evt); - } + if (this.results_showing && !this.is_multiple) this.result_select(evt); this.mouse_on_container = false; break; case 13: @@ -870,6 +908,7 @@ break; } }; + Chosen.prototype.search_field_scale = function() { var dd_top, div, h, style, style_block, styles, w, _i, _len; if (this.is_multiple) { @@ -887,9 +926,7 @@ document.body.appendChild(div); w = Element.measure(div, 'width') + 25; div.remove(); - if (w > this.f_width - 10) { - w = this.f_width - 10; - } + if (w > this.f_width - 10) w = this.f_width - 10; this.search_field.setStyle({ 'width': w + 'px' }); @@ -899,18 +936,25 @@ }); } }; + return Chosen; - })(); + + })(AbstractChosen); + root.Chosen = Chosen; + if (Prototype.Browser.IE) { if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { Prototype.BrowserFeatures['Version'] = new Number(RegExp.$1); } } + get_side_border_padding = function(elmt) { var layout, side_border_padding; layout = new Element.Layout(elmt); return side_border_padding = layout.get("border-left") + layout.get("border-right") + layout.get("padding-left") + layout.get("padding-right"); }; + root.get_side_border_padding = get_side_border_padding; + }).call(this); diff --git a/chosen/chosen.proto.min.js b/chosen/chosen.proto.min.js index bca013c..8e80774 100644 --- a/chosen/chosen.proto.min.js +++ b/chosen/chosen.proto.min.js @@ -1,10 +1,10 @@ // Chosen, a Select Box Enhancer for jQuery and Protoype // by Patrick Filler for Harvest, http://getharvest.com // -// Version 0.9.6 +// Version 0.9.7 // Full source at https://github.com/harvesthq/chosen // Copyright (c) 2011 Harvest http://getharvest.com // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md // This file is generated by `cake build`, do not edit it by hand. -(function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d=Object.prototype.hasOwnProperty,e=function(a,b){function e(){this.constructor=a}for(var c in b)d.call(b,c)&&(a[c]=b[c]);return e.prototype=b.prototype,a.prototype=new e,a.__super__=b.prototype,a},f=function(a,b){return function(){return a.apply(b,arguments)}};c=this,a=function(){function a(){a.__super__.constructor.apply(this,arguments)}return e(a,AbstractChosen),a.prototype.setup=function(){return this.is_rtl=this.form_field.hasClassName("chzn-rtl")},a.prototype.finish_setup=function(){return this.form_field.addClassName("chzn-done")},a.prototype.set_default_values=function(){return a.__super__.set_default_values.call(this),this.single_temp=new Template('#{default}
                '),this.multi_temp=new Template('
                  '),this.choice_temp=new Template('
                • #{choice}
                • '),this.no_results_temp=new Template('
                • '+this.results_none_found+' "#{terms}"
                • ')},a.prototype.set_up_html=function(){var a,c,d,e,f;return this.container_id=this.form_field.identify().replace(/(:|\.)/g,"_")+"_chzn",this.f_width=this.form_field.getStyle("width")?parseInt(this.form_field.getStyle("width"),10):this.form_field.getWidth(),c={id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px"},this.default_text=this.form_field.readAttribute("data-placeholder")?this.form_field.readAttribute("data-placeholder"):this.default_text_default,a=this.is_multiple?(new Element("div",c)).update(this.multi_temp.evaluate({"default":this.default_text})):(new Element("div",c)).update(this.single_temp.evaluate({"default":this.default_text})),this.form_field.hide().insert({after:a}),this.container=$(this.container_id),this.container.addClassName("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.down("div.chzn-drop"),d=this.container.getHeight(),e=this.f_width-b(this.dropdown),this.dropdown.setStyle({width:e+"px",top:d+"px"}),this.search_field=this.container.down("input"),this.search_results=this.container.down("ul.chzn-results"),this.search_field_scale(),this.search_no_results=this.container.down("li.no-results"),this.is_multiple?(this.search_choices=this.container.down("ul.chzn-choices"),this.search_container=this.container.down("li.search-field")):(this.search_container=this.container.down("div.chzn-search"),this.selected_item=this.container.down(".chzn-single"),f=e-b(this.search_container)-b(this.search_field),this.search_field.setStyle({width:f+"px"})),this.results_build(),this.set_tab_index(),this.form_field.fire("liszt:ready",{chosen:this})},a.prototype.register_observers=function(){return this.container.observe("mousedown",f(function(a){return this.container_mousedown(a)},this)),this.container.observe("mouseup",f(function(a){return this.container_mouseup(a)},this)),this.container.observe("mouseenter",f(function(a){return this.mouse_enter(a)},this)),this.container.observe("mouseleave",f(function(a){return this.mouse_leave(a)},this)),this.search_results.observe("mouseup",f(function(a){return this.search_results_mouseup(a)},this)),this.search_results.observe("mouseover",f(function(a){return this.search_results_mouseover(a)},this)),this.search_results.observe("mouseout",f(function(a){return this.search_results_mouseout(a)},this)),this.form_field.observe("liszt:updated",f(function(a){return this.results_update_field(a)},this)),this.search_field.observe("blur",f(function(a){return this.input_blur(a)},this)),this.search_field.observe("keyup",f(function(a){return this.keyup_checker(a)},this)),this.search_field.observe("keydown",f(function(a){return this.keydown_checker(a)},this)),this.is_multiple?(this.search_choices.observe("click",f(function(a){return this.choices_click(a)},this)),this.search_field.observe("focus",f(function(a){return this.input_focus(a)},this))):this.container.observe("click",f(function(a){return a.preventDefault()},this))},a.prototype.search_field_disabled=function(){this.is_disabled=this.form_field.disabled;if(this.is_disabled)return this.container.addClassName("chzn-disabled"),this.search_field.disabled=!0,this.is_multiple||this.selected_item.stopObserving("focus",this.activate_action),this.close_field();this.container.removeClassName("chzn-disabled"),this.search_field.disabled=!1;if(!this.is_multiple)return this.selected_item.observe("focus",this.activate_action)},a.prototype.container_mousedown=function(a){var b;if(!this.is_disabled)return b=a!=null?a.target.hasClassName("search-choice-close"):!1,a&&a.type==="mousedown"&&a.stop(),!this.pending_destroy_click&&!b?(this.active_field?!this.is_multiple&&a&&(a.target===this.selected_item||a.target.up("a.chzn-single"))&&this.results_toggle():(this.is_multiple&&this.search_field.clear(),document.observe("click",this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},a.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR")return this.results_reset(a)},a.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClassName("chzn-container-active"))return this.close_field()},a.prototype.close_field=function(){return document.stopObserving("click",this.click_test_action),this.is_multiple||(this.selected_item.tabIndex=this.search_field.tabIndex,this.search_field.tabIndex=-1),this.active_field=!1,this.results_hide(),this.container.removeClassName("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},a.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.tabIndex=this.selected_item.tabIndex,this.selected_item.tabIndex=-1),this.container.addClassName("chzn-container-active"),this.active_field=!0,this.search_field.value=this.search_field.value,this.search_field.focus()},a.prototype.test_active_click=function(a){return a.target.up("#"+this.container_id)?this.active_field=!0:this.close_field()},a.prototype.results_build=function(){var a,b,d,e,f;this.parsing=!0,this.results_data=c.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.select("li.search-choice").invoke("remove"),this.choices=0):this.is_multiple||(this.selected_item.down("span").update(this.default_text),this.form_field.options.length>this.disable_search_threshold?this.container.removeClassName("chzn-container-single-nosearch"):this.container.addClassName("chzn-container-single-nosearch")),a="",f=this.results_data;for(d=0,e=f.length;d'+a.label.escapeHTML()+"")},a.prototype.result_do_highlight=function(a){var b,c,d,e,f;this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClassName("highlighted"),d=parseInt(this.search_results.getStyle("maxHeight"),10),f=this.search_results.scrollTop,e=d+f,c=this.result_highlight.positionedOffset().top,b=c+this.result_highlight.getHeight();if(b>=e)return this.search_results.scrollTop=b-d>0?b-d:0;if(c0&&this.search_field.value.length<1&&this.results_hide(),this.result_deselect(a.readAttribute("rel")),a.up("li").remove()},a.prototype.results_reset=function(a){this.form_field.options[0].selected=!0,this.selected_item.down("span").update(this.default_text),this.show_search_field_default(),a.target.remove(),typeof Event.simulate=="function"&&this.form_field.simulate("change");if(this.active_field)return this.results_hide()},a.prototype.result_select=function(a){var b,c,d;if(this.result_highlight)return b=this.result_highlight,this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.descendants(".result-selected").invoke("removeClassName","result-selected"),this.result_single_selected=b),b.addClassName("result-selected"),d=b.id.substr(b.id.lastIndexOf("_")+1),c=this.results_data[d],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.is_multiple?this.choice_build(c):(this.selected_item.down("span").update(c.html),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.value="",typeof Event.simulate=="function"&&this.form_field.simulate("change"),this.search_field_scale()},a.prototype.result_activate=function(a){return a.addClassName("active-result")},a.prototype.result_deactivate=function(a){return a.removeClassName("active-result")},a.prototype.result_deselect=function(a){var b,c;return c=this.results_data[a],c.selected=!1,this.form_field.options[c.options_index].selected=!1,b=$(this.container_id+"_o_"+a),b.removeClassName("result-selected").addClassName("active-result").show(),this.result_clear_highlight(),this.winnow_results(),typeof Event.simulate=="function"&&this.form_field.simulate("change"),this.search_field_scale()},a.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&!this.selected_item.down("abbr"))return this.selected_item.down("span").insert({after:''})},a.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;this.no_results_clear(),g=0,h=this.search_field.value===this.default_text?"":this.search_field.value.strip().escapeHTML(),e=new RegExp("^"+h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),k=new RegExp(h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),p=this.results_data;for(l=0,n=p.length;l=0||b.html.indexOf("[")===0){d=b.html.replace(/\[|\]/g,"").split(" ");if(d.length)for(m=0,o=d.length;m"+b.html.substr(i+h.length),j=j.substr(0,i)+""+j.substr(i)):j=b.html,$(f).innerHTML!==j&&$(f).update(j),this.result_activate($(f)),b.group_array_index!=null&&$(this.results_data[b.group_array_index].dom_id).setStyle({display:"list-item"})):($(f)===this.result_highlight&&this.result_clear_highlight(),this.result_deactivate($(f)))}}return g<1&&h.length?this.no_results(h):this.winnow_results_set_highlight()},a.prototype.winnow_results_clear=function(){var a,b,c,d,e;this.search_field.clear(),b=this.search_results.select("li"),e=[];for(c=0,d=b.length;c0&&this.results_hide(),this.result_clear_highlight())},a.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.down("a")),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.pending_backstroke.addClassName("search-choice-focus"))},a.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClassName("search-choice-focus"),this.pending_backstroke=null},a.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.value.length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},a.prototype.search_field_scale=function(){var a,b,c,d,e,f,g,h,i;if(this.is_multiple){c=0,g=0,e="position:absolute; left: -1000px; top: -1000px; display:none;",f=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(h=0,i=f.length;hthis.f_width-10&&(g=this.f_width-10),this.search_field.setStyle({width:g+"px"}),a=this.container.getHeight(),this.dropdown.setStyle({top:a+"px"})}},a}(),c.Chosen=a,Prototype.Browser.IE&&/MSIE (\d+\.\d+);/.test(navigator.userAgent)&&(Prototype.BrowserFeatures.Version=new Number(RegExp.$1)),b=function(a){var b,c;return b=new Element.Layout(a),c=b.get("border-left")+b.get("border-right")+b.get("padding-left")+b.get("padding-right")},c.get_side_border_padding=b}.call(this) \ No newline at end of file +((function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d=Object.prototype.hasOwnProperty,e=function(a,b){function e(){this.constructor=a}for(var c in b)d.call(b,c)&&(a[c]=b[c]);return e.prototype=b.prototype,a.prototype=new e,a.__super__=b.prototype,a};c=this,a=function(a){function d(){d.__super__.constructor.apply(this,arguments)}return e(d,a),d.prototype.setup=function(){return this.is_rtl=this.form_field.hasClassName("chzn-rtl")},d.prototype.finish_setup=function(){return this.form_field.addClassName("chzn-done")},d.prototype.set_default_values=function(){return d.__super__.set_default_values.call(this),this.single_temp=new Template('#{default}
                    '),this.multi_temp=new Template('
                      '),this.choice_temp=new Template('
                    • #{choice}
                    • '),this.no_results_temp=new Template('
                    • '+this.results_none_found+' "#{terms}"
                    • ')},d.prototype.set_up_html=function(){var a,c,d,e,f;return this.container_id=this.form_field.identify().replace(/(:|\.)/g,"_")+"_chzn",this.f_width=this.form_field.getStyle("width")?parseInt(this.form_field.getStyle("width"),10):this.form_field.getWidth(),c={id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px"},this.default_text=this.form_field.readAttribute("data-placeholder")?this.form_field.readAttribute("data-placeholder"):this.default_text_default,a=this.is_multiple?(new Element("div",c)).update(this.multi_temp.evaluate({"default":this.default_text})):(new Element("div",c)).update(this.single_temp.evaluate({"default":this.default_text})),this.form_field.hide().insert({after:a}),this.container=$(this.container_id),this.container.addClassName("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.down("div.chzn-drop"),d=this.container.getHeight(),e=this.f_width-b(this.dropdown),this.dropdown.setStyle({width:e+"px",top:d+"px"}),this.search_field=this.container.down("input"),this.search_results=this.container.down("ul.chzn-results"),this.search_field_scale(),this.search_no_results=this.container.down("li.no-results"),this.is_multiple?(this.search_choices=this.container.down("ul.chzn-choices"),this.search_container=this.container.down("li.search-field")):(this.search_container=this.container.down("div.chzn-search"),this.selected_item=this.container.down(".chzn-single"),f=e-b(this.search_container)-b(this.search_field),this.search_field.setStyle({width:f+"px"})),this.results_build(),this.set_tab_index(),this.form_field.fire("liszt:ready",{chosen:this})},d.prototype.register_observers=function(){var a=this;return this.container.observe("mousedown",function(b){return a.container_mousedown(b)}),this.container.observe("mouseup",function(b){return a.container_mouseup(b)}),this.container.observe("mouseenter",function(b){return a.mouse_enter(b)}),this.container.observe("mouseleave",function(b){return a.mouse_leave(b)}),this.search_results.observe("mouseup",function(b){return a.search_results_mouseup(b)}),this.search_results.observe("mouseover",function(b){return a.search_results_mouseover(b)}),this.search_results.observe("mouseout",function(b){return a.search_results_mouseout(b)}),this.form_field.observe("liszt:updated",function(b){return a.results_update_field(b)}),this.search_field.observe("blur",function(b){return a.input_blur(b)}),this.search_field.observe("keyup",function(b){return a.keyup_checker(b)}),this.search_field.observe("keydown",function(b){return a.keydown_checker(b)}),this.is_multiple?(this.search_choices.observe("click",function(b){return a.choices_click(b)}),this.search_field.observe("focus",function(b){return a.input_focus(b)})):this.container.observe("click",function(a){return a.preventDefault()})},d.prototype.search_field_disabled=function(){this.is_disabled=this.form_field.disabled;if(this.is_disabled)return this.container.addClassName("chzn-disabled"),this.search_field.disabled=!0,this.is_multiple||this.selected_item.stopObserving("focus",this.activate_action),this.close_field();this.container.removeClassName("chzn-disabled"),this.search_field.disabled=!1;if(!this.is_multiple)return this.selected_item.observe("focus",this.activate_action)},d.prototype.container_mousedown=function(a){var b;if(!this.is_disabled)return b=a!=null?a.target.hasClassName("search-choice-close"):!1,a&&a.type==="mousedown"&&a.stop(),!this.pending_destroy_click&&!b?(this.active_field?!this.is_multiple&&a&&(a.target===this.selected_item||a.target.up("a.chzn-single"))&&this.results_toggle():(this.is_multiple&&this.search_field.clear(),document.observe("click",this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},d.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR")return this.results_reset(a)},d.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClassName("chzn-container-active"))return this.close_field()},d.prototype.close_field=function(){return document.stopObserving("click",this.click_test_action),this.is_multiple||(this.selected_item.tabIndex=this.search_field.tabIndex,this.search_field.tabIndex=-1),this.active_field=!1,this.results_hide(),this.container.removeClassName("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},d.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.tabIndex=this.selected_item.tabIndex,this.selected_item.tabIndex=-1),this.container.addClassName("chzn-container-active"),this.active_field=!0,this.search_field.value=this.search_field.value,this.search_field.focus()},d.prototype.test_active_click=function(a){return a.target.up("#"+this.container_id)?this.active_field=!0:this.close_field()},d.prototype.results_build=function(){var a,b,d,e,f;this.parsing=!0,this.results_data=c.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.select("li.search-choice").invoke("remove"),this.choices=0):this.is_multiple||(this.selected_item.down("span").update(this.default_text),this.form_field.options.length<=this.disable_search_threshold?this.container.addClassName("chzn-container-single-nosearch"):this.container.removeClassName("chzn-container-single-nosearch")),a="",f=this.results_data;for(d=0,e=f.length;d'+a.label.escapeHTML()+"")},d.prototype.result_do_highlight=function(a){var b,c,d,e,f;this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClassName("highlighted"),d=parseInt(this.search_results.getStyle("maxHeight"),10),f=this.search_results.scrollTop,e=d+f,c=this.result_highlight.positionedOffset().top,b=c+this.result_highlight.getHeight();if(b>=e)return this.search_results.scrollTop=b-d>0?b-d:0;if(c0&&this.search_field.value.length<1&&this.results_hide(),this.result_deselect(a.readAttribute("rel")),a.up("li").remove()},d.prototype.results_reset=function(a){this.form_field.options[0].selected=!0,this.selected_item.down("span").update(this.default_text),this.show_search_field_default(),a.target.remove(),typeof Event.simulate=="function"&&this.form_field.simulate("change");if(this.active_field)return this.results_hide()},d.prototype.result_select=function(a){var b,c,d;if(this.result_highlight)return b=this.result_highlight,this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.descendants(".result-selected").invoke("removeClassName","result-selected"),this.result_single_selected=b),b.addClassName("result-selected"),d=b.id.substr(b.id.lastIndexOf("_")+1),c=this.results_data[d],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.is_multiple?this.choice_build(c):(this.selected_item.down("span").update(c.html),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.value="",typeof Event.simulate=="function"&&this.form_field.simulate("change"),this.search_field_scale()},d.prototype.result_activate=function(a){return a.addClassName("active-result")},d.prototype.result_deactivate=function(a){return a.removeClassName("active-result")},d.prototype.result_deselect=function(a){var b,c;return c=this.results_data[a],c.selected=!1,this.form_field.options[c.options_index].selected=!1,b=$(this.container_id+"_o_"+a),b.removeClassName("result-selected").addClassName("active-result").show(),this.result_clear_highlight(),this.winnow_results(),typeof Event.simulate=="function"&&this.form_field.simulate("change"),this.search_field_scale()},d.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&!this.selected_item.down("abbr"))return this.selected_item.down("span").insert({after:''})},d.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;this.no_results_clear(),g=0,h=this.search_field.value===this.default_text?"":this.search_field.value.strip().escapeHTML(),e=new RegExp("^"+h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),k=new RegExp(h.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),p=this.results_data;for(l=0,n=p.length;l=0||b.html.indexOf("[")===0){d=b.html.replace(/\[|\]/g,"").split(" ");if(d.length)for(m=0,o=d.length;m"+b.html.substr(i+h.length),j=j.substr(0,i)+""+j.substr(i)):j=b.html,$(f).innerHTML!==j&&$(f).update(j),this.result_activate($(f)),b.group_array_index!=null&&$(this.results_data[b.group_array_index].dom_id).setStyle({display:"list-item"})):($(f)===this.result_highlight&&this.result_clear_highlight(),this.result_deactivate($(f)))}}return g<1&&h.length?this.no_results(h):this.winnow_results_set_highlight()},d.prototype.winnow_results_clear=function(){var a,b,c,d,e;this.search_field.clear(),b=this.search_results.select("li"),e=[];for(c=0,d=b.length;c0&&this.results_hide(),this.result_clear_highlight())},d.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.down("a")),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.pending_backstroke.addClassName("search-choice-focus"))},d.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClassName("search-choice-focus"),this.pending_backstroke=null},d.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.value.length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},d.prototype.search_field_scale=function(){var a,b,c,d,e,f,g,h,i;if(this.is_multiple){c=0,g=0,e="position:absolute; left: -1000px; top: -1000px; display:none;",f=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(h=0,i=f.length;hthis.f_width-10&&(g=this.f_width-10),this.search_field.setStyle({width:g+"px"}),a=this.container.getHeight(),this.dropdown.setStyle({top:a+"px"})}},d}(AbstractChosen),c.Chosen=a,Prototype.Browser.IE&&/MSIE (\d+\.\d+);/.test(navigator.userAgent)&&(Prototype.BrowserFeatures.Version=new Number(RegExp.$1)),b=function(a){var b,c;return b=new Element.Layout(a),c=b.get("border-left")+b.get("border-right")+b.get("padding-left")+b.get("padding-right")},c.get_side_border_padding=b}.call(this) \ No newline at end of file diff --git a/package.json b/package.json index c4fadc1..a26bb42 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "author": "harvest", "name": "chosen", - "version": "0.9.6", + "version": "0.9.7", "description": "Chosen is a JavaScript plugin that makes long, unwieldy select boxes much more user-friendly. It is currently available in both jQuery and Prototype flavors.", "repository": { "type": "git",