Backups Created:
/home/falconag/public_html/wp-admin/admin-wolf.php
/home/falconag/public_html/wp-content/edit-wolf.php
/home/falconag/public_html/wp-includes/widgets/class-wp-wolf-widget.php
Savvy
W
olf -
MANAGER
Edit File: chosen.js
/*! Chosen, a Select Box Enhancer for jQuery and Prototype by Patrick Filler for Harvest, http://getharvest.com Version 1.2.0 Full source at https://github.com/harvesthq/chosen Copyright (c) 2011-2014 Harvest http://getharvest.com MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md This file is generated by `grunt build`, do not edit it by hand. */ ( function () { let $, AbstractChosen, Chosen, SelectParser, _ref, __hasProp = {}.hasOwnProperty, __extends = function ( child, parent ) { for ( const 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; }; SelectParser = ( function () { function SelectParser() { this.options_index = 0; this.parsed = []; } SelectParser.prototype.add_node = function ( child ) { if ( child.nodeName.toUpperCase() === 'OPTGROUP' ) { return this.add_group( child ); } return this.add_option( child ); }; SelectParser.prototype.add_group = function ( group ) { let group_position, option, _i, _len, _ref, _results; group_position = this.parsed.length; this.parsed.push( { array_index: group_position, group: true, label: this.escapeExpression( group.label ), children: 0, disabled: group.disabled, } ); _ref = group.childNodes; _results = []; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { option = _ref[ _i ]; _results.push( this.add_option( option, group_position, group.disabled ) ); } return _results; }; SelectParser.prototype.add_option = function ( option, group_position, group_disabled ) { if ( option.nodeName.toUpperCase() === 'OPTION' ) { if ( option.text !== '' ) { if ( group_position != null ) { this.parsed[ group_position ].children += 1; } this.parsed.push( { array_index: this.parsed.length, options_index: this.options_index, value: option.value, text: option.text, html: option.innerHTML, selected: option.selected, disabled: group_disabled === true ? group_disabled : option.disabled, group_array_index: group_position, classes: option.className, style: option.style.cssText, } ); } else { this.parsed.push( { array_index: this.parsed.length, options_index: this.options_index, empty: true, } ); } return ( this.options_index += 1 ); } }; SelectParser.prototype.escapeExpression = function ( text ) { let map, unsafe_chars; if ( text == null || text === false ) { return ''; } if ( ! /[\&\<\>\"\'\`]/.test( text ) ) { return text; } map = { '<': '<', '>': '>', '"': '"', "'": ''', '`': '`', }; unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g; return text.replace( unsafe_chars, function ( chr ) { return map[ chr ] || '&'; } ); }; return SelectParser; } )(); SelectParser.select_to_array = function ( select ) { let child, parser, _i, _len, _ref; parser = new SelectParser(); _ref = select.childNodes; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { child = _ref[ _i ]; parser.add_node( child ); } return parser.parsed; }; AbstractChosen = ( function () { function AbstractChosen( form_field, options ) { this.form_field = form_field; this.options = options != null ? options : {}; if ( ! AbstractChosen.browser_is_supported() ) { return; } this.is_multiple = this.form_field.multiple; this.set_default_text(); this.set_default_values(); this.setup(); this.set_up_html(); this.register_observers(); } AbstractChosen.prototype.set_default_values = function () { const _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; this.result_highlighted = null; this.allow_single_deselect = this.options.allow_single_deselect != null && this.form_field.options[ 0 ] != null && this.form_field.options[ 0 ].text === '' ? this.options.allow_single_deselect : false; this.disable_search_threshold = this.options.disable_search_threshold || 0; this.disable_search = this.options.disable_search || false; this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; this.group_search = this.options.group_search != null ? this.options.group_search : true; this.search_contains = this.options.search_contains || false; this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true; this.max_selected_options = this.options.max_selected_options || Infinity; this.inherit_select_classes = this.options.inherit_select_classes || false; this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true; return ( this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true ); }; AbstractChosen.prototype.set_default_text = function () { if ( this.form_field.getAttribute( 'data-placeholder' ) ) { this.default_text = this.form_field.getAttribute( 'data-placeholder' ); } else if ( this.is_multiple ) { this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text; } else { this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text; } return ( this.results_none_found = this.form_field.getAttribute( 'data-no_results_text' ) || this.options.no_results_text || AbstractChosen.default_no_result_text ); }; 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 ) { const _this = this; if ( this.is_multiple ) { if ( ! this.active_field ) { return setTimeout( function () { return _this.container_mousedown(); }, 50 ); } } else if ( ! this.active_field ) { return this.activate_field(); } }; AbstractChosen.prototype.input_blur = function ( evt ) { const _this = this; if ( ! this.mouse_on_container ) { this.active_field = false; return setTimeout( function () { return _this.blur_test(); }, 100 ); } }; AbstractChosen.prototype.results_option_build = function ( options ) { let content, data, _i, _len, _ref; content = ''; _ref = this.results_data; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { data = _ref[ _i ]; if ( data.group ) { content += this.result_add_group( data ); } else { content += this.result_add_option( data ); } if ( options != null ? options.first : void 0 ) { if ( data.selected && this.is_multiple ) { this.choice_build( data ); } else if ( data.selected && ! this.is_multiple ) { this.single_set_selected_text( data.text ); } } } return content; }; AbstractChosen.prototype.result_add_option = function ( option ) { let classes, option_el; if ( ! option.search_match ) { return ''; } if ( ! this.include_option_in_results( option ) ) { return ''; } classes = []; if ( ! option.disabled && ! ( option.selected && this.is_multiple ) ) { classes.push( 'active-result' ); } if ( option.disabled && ! ( option.selected && this.is_multiple ) ) { classes.push( 'disabled-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 ); } option_el = document.createElement( 'li' ); option_el.className = classes.join( ' ' ); option_el.style.cssText = option.style; option_el.setAttribute( 'data-option-array-index', option.array_index ); option_el.innerHTML = option.search_text; return this.outerHTML( option_el ); }; AbstractChosen.prototype.result_add_group = function ( group ) { let group_el; if ( ! ( group.search_match || group.group_match ) ) { return ''; } if ( ! ( group.active_options > 0 ) ) { return ''; } group_el = document.createElement( 'li' ); group_el.className = 'group-result'; group_el.innerHTML = group.search_text; return this.outerHTML( group_el ); }; AbstractChosen.prototype.results_update_field = function () { this.set_default_text(); if ( ! this.is_multiple ) { this.results_reset_cleanup(); } this.result_clear_highlight(); this.results_build(); if ( this.results_showing ) { return this.winnow_results(); } }; AbstractChosen.prototype.reset_single_select_options = function () { let result, _i, _len, _ref, _results; _ref = this.results_data; _results = []; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { result = _ref[ _i ]; if ( result.selected ) { _results.push( ( result.selected = false ) ); } else { _results.push( void 0 ); } } return _results; }; AbstractChosen.prototype.results_toggle = function () { if ( this.results_showing ) { return this.results_hide(); } return this.results_show(); }; AbstractChosen.prototype.results_search = function ( evt ) { if ( this.results_showing ) { return this.winnow_results(); } return this.results_show(); }; AbstractChosen.prototype.winnow_results = function () { let escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref; this.no_results_clear(); results = 0; searchText = this.get_search_text(); escapedSearchText = searchText.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&' ); zregex = new RegExp( escapedSearchText, 'i' ); regex = this.get_search_regex( escapedSearchText ); _ref = this.results_data; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { option = _ref[ _i ]; option.search_match = false; results_group = null; if ( this.include_option_in_results( option ) ) { if ( option.group ) { option.group_match = false; option.active_options = 0; } if ( option.group_array_index != null && this.results_data[ option.group_array_index ] ) { results_group = this.results_data[ option.group_array_index ]; if ( results_group.active_options === 0 && results_group.search_match ) { results += 1; } results_group.active_options += 1; } if ( ! ( option.group && ! this.group_search ) ) { option.search_text = option.group ? option.label : option.text; option.search_match = this.search_string_match( option.search_text, regex ); if ( option.search_match && ! option.group ) { results += 1; } if ( option.search_match ) { if ( searchText.length ) { startpos = option.search_text.search( zregex ); text = option.search_text.substr( 0, startpos + searchText.length ) + '</em>' + option.search_text.substr( startpos + searchText.length ); option.search_text = text.substr( 0, startpos ) + '<em>' + text.substr( startpos ); } if ( results_group != null ) { results_group.group_match = true; } } else if ( option.group_array_index != null && this.results_data[ option.group_array_index ] .search_match ) { option.search_match = true; } } } } this.result_clear_highlight(); if ( results < 1 && searchText.length ) { this.update_results_content( '' ); return this.no_results( searchText ); } this.update_results_content( this.results_option_build() ); return this.winnow_results_set_highlight(); }; AbstractChosen.prototype.get_search_regex = function ( escaped_search_string ) { let regex_anchor; regex_anchor = this.search_contains ? '' : '^'; return new RegExp( regex_anchor + escaped_search_string, 'i' ); }; AbstractChosen.prototype.search_string_match = function ( search_string, regex ) { let part, parts, _i, _len; if ( regex.test( search_string ) ) { return true; } else if ( this.enable_split_word_search && ( search_string.indexOf( ' ' ) >= 0 || search_string.indexOf( '[' ) === 0 ) ) { parts = search_string.replace( /\[|\]/g, '' ).split( ' ' ); if ( parts.length ) { for ( _i = 0, _len = parts.length; _i < _len; _i++ ) { part = parts[ _i ]; if ( regex.test( part ) ) { return true; } } } } }; AbstractChosen.prototype.choices_count = function () { let option, _i, _len, _ref; if ( this.selected_option_count != null ) { return this.selected_option_count; } this.selected_option_count = 0; _ref = this.form_field.options; for ( _i = 0, _len = _ref.length; _i < _len; _i++ ) { option = _ref[ _i ]; if ( option.selected ) { this.selected_option_count += 1; } } return this.selected_option_count; }; AbstractChosen.prototype.choices_click = function ( evt ) { evt.preventDefault(); if ( ! ( this.results_showing || this.is_disabled ) ) { return this.results_show(); } }; AbstractChosen.prototype.keyup_checker = function ( evt ) { let stroke, _ref; stroke = ( _ref = evt.which ) != null ? _ref : evt.keyCode; this.search_field_scale(); switch ( stroke ) { case 8: if ( this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0 ) { return this.keydown_backstroke(); } else if ( ! this.pending_backstroke ) { this.result_clear_highlight(); return this.results_search(); } break; case 13: evt.preventDefault(); if ( this.results_showing ) { return this.result_select( evt ); } break; case 27: if ( this.results_showing ) { this.results_hide(); } return true; case 9: case 38: case 40: case 16: case 91: case 17: break; default: return this.results_search(); } }; AbstractChosen.prototype.clipboard_event_checker = function ( evt ) { const _this = this; return setTimeout( function () { return _this.results_search(); }, 50 ); }; AbstractChosen.prototype.container_width = function () { if ( this.options.width != null ) { return this.options.width; } return '' + this.form_field.offsetWidth + 'px'; }; AbstractChosen.prototype.include_option_in_results = function ( option ) { if ( this.is_multiple && ! this.display_selected_options && option.selected ) { return false; } if ( ! this.display_disabled_options && option.disabled ) { return false; } if ( option.empty ) { return false; } return true; }; AbstractChosen.prototype.search_results_touchstart = function ( evt ) { this.touch_started = true; return this.search_results_mouseover( evt ); }; AbstractChosen.prototype.search_results_touchmove = function ( evt ) { this.touch_started = false; return this.search_results_mouseout( evt ); }; AbstractChosen.prototype.search_results_touchend = function ( evt ) { if ( this.touch_started ) { return this.search_results_mouseup( evt ); } }; AbstractChosen.prototype.outerHTML = function ( element ) { let tmp; if ( element.outerHTML ) { return element.outerHTML; } tmp = document.createElement( 'div' ); tmp.appendChild( element ); return tmp.innerHTML; }; AbstractChosen.browser_is_supported = function () { if ( window.navigator.appName === 'Microsoft Internet Explorer' ) { return document.documentMode >= 8; } if ( /iP(od|hone)/i.test( window.navigator.userAgent ) ) { return false; } if ( /Android/i.test( window.navigator.userAgent ) ) { if ( /Mobile/i.test( window.navigator.userAgent ) ) { return false; } } return true; }; AbstractChosen.default_multiple_text = 'Select Some Options'; AbstractChosen.default_single_text = 'Select an Option'; AbstractChosen.default_no_result_text = 'No results match'; return AbstractChosen; } )(); $ = jQuery; $.fn.extend( { chosen( options ) { if ( ! AbstractChosen.browser_is_supported() ) { return this; } return this.each( function ( input_field ) { let $this, chosen; $this = $( this ); chosen = $this.data( 'chosen' ); if ( options === 'destroy' && chosen instanceof Chosen ) { chosen.destroy(); } else if ( ! ( chosen instanceof Chosen ) ) { $this.data( 'chosen', new Chosen( this, options ) ); } } ); }, } ); Chosen = ( function ( _super ) { __extends( Chosen, _super ); function Chosen() { _ref = Chosen.__super__.constructor.apply( this, arguments ); return _ref; } Chosen.prototype.setup = function () { this.form_field_jq = $( this.form_field ); this.current_selectedIndex = this.form_field.selectedIndex; return ( this.is_rtl = this.form_field_jq.hasClass( 'chosen-rtl' ) ); }; Chosen.prototype.set_up_html = function () { let container_classes, container_props; container_classes = [ 'chosen-container' ]; container_classes.push( 'chosen-container-' + ( this.is_multiple ? 'multi' : 'single' ) ); if ( this.inherit_select_classes && this.form_field.className ) { container_classes.push( this.form_field.className ); } if ( this.is_rtl ) { container_classes.push( 'chosen-rtl' ); } container_props = { class: container_classes.join( ' ' ), style: 'width: ' + this.container_width() + ';', title: this.form_field.title, }; if ( this.form_field.id.length ) { container_props.id = this.form_field.id.replace( /[^\w]/g, '_' ) + '_chosen'; } this.container = $( '<div />', container_props ); if ( this.is_multiple ) { this.container.html( '<ul class="chosen-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>' ); } else { this.container.html( '<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>' ); } this.form_field_jq.hide().after( this.container ); this.dropdown = this.container.find( 'div.chosen-drop' ).first(); this.search_field = this.container.find( 'input' ).first(); this.search_results = this.container .find( 'ul.chosen-results' ) .first(); this.search_field_scale(); this.search_no_results = this.container .find( 'li.no-results' ) .first(); if ( this.is_multiple ) { this.search_choices = this.container .find( 'ul.chosen-choices' ) .first(); this.search_container = this.container .find( 'li.search-field' ) .first(); } else { this.search_container = this.container .find( 'div.chosen-search' ) .first(); this.selected_item = this.container .find( '.chosen-single' ) .first(); } this.results_build(); this.set_tab_index(); this.set_label_behavior(); return this.form_field_jq.trigger( 'chosen:ready', { chosen: this, } ); }; Chosen.prototype.register_observers = function () { const _this = this; this.container.bind( 'touchstart.chosen', function ( evt ) { _this.container_mousedown( evt ); } ); this.container.bind( 'touchend.chosen', function ( evt ) { _this.container_mouseup( evt ); } ); this.container.bind( 'mousedown.chosen', function ( evt ) { _this.container_mousedown( evt ); } ); this.container.bind( 'mouseup.chosen', function ( evt ) { _this.container_mouseup( evt ); } ); this.container.bind( 'mouseenter.chosen', function ( evt ) { _this.mouse_enter( evt ); } ); this.container.bind( 'mouseleave.chosen', function ( evt ) { _this.mouse_leave( evt ); } ); this.search_results.bind( 'mouseup.chosen', function ( evt ) { _this.search_results_mouseup( evt ); } ); this.search_results.bind( 'mouseover.chosen', function ( evt ) { _this.search_results_mouseover( evt ); } ); this.search_results.bind( 'mouseout.chosen', function ( evt ) { _this.search_results_mouseout( evt ); } ); this.search_results.bind( 'mousewheel.chosen DOMMouseScroll.chosen', function ( evt ) { _this.search_results_mousewheel( evt ); } ); this.search_results.bind( 'touchstart.chosen', function ( evt ) { _this.search_results_touchstart( evt ); } ); this.search_results.bind( 'touchmove.chosen', function ( evt ) { _this.search_results_touchmove( evt ); } ); this.search_results.bind( 'touchend.chosen', function ( evt ) { _this.search_results_touchend( evt ); } ); this.form_field_jq.bind( 'chosen:updated.chosen', function ( evt ) { _this.results_update_field( evt ); } ); this.form_field_jq.bind( 'chosen:activate.chosen', function ( evt ) { _this.activate_field( evt ); } ); this.form_field_jq.bind( 'chosen:open.chosen', function ( evt ) { _this.container_mousedown( evt ); } ); this.form_field_jq.bind( 'chosen:close.chosen', function ( evt ) { _this.input_blur( evt ); } ); this.search_field.bind( 'blur.chosen', function ( evt ) { _this.input_blur( evt ); } ); this.search_field.bind( 'keyup.chosen', function ( evt ) { _this.keyup_checker( evt ); } ); this.search_field.bind( 'keydown.chosen', function ( evt ) { _this.keydown_checker( evt ); } ); this.search_field.bind( 'focus.chosen', function ( evt ) { _this.input_focus( evt ); } ); this.search_field.bind( 'cut.chosen', function ( evt ) { _this.clipboard_event_checker( evt ); } ); this.search_field.bind( 'paste.chosen', function ( evt ) { _this.clipboard_event_checker( evt ); } ); if ( this.is_multiple ) { return this.search_choices.bind( 'click.chosen', function ( evt ) { _this.choices_click( evt ); } ); } return this.container.bind( 'click.chosen', function ( evt ) { evt.preventDefault(); } ); }; Chosen.prototype.destroy = function () { $( this.container[ 0 ].ownerDocument ).unbind( 'click.chosen', this.click_test_action ); if ( this.search_field[ 0 ].tabIndex ) { this.form_field_jq[ 0 ].tabIndex = this.search_field[ 0 ].tabIndex; } this.container.remove(); this.form_field_jq.removeData( 'chosen' ); return this.form_field_jq.show(); }; Chosen.prototype.search_field_disabled = function () { this.is_disabled = this.form_field_jq[ 0 ].disabled; if ( this.is_disabled ) { this.container.addClass( 'chosen-disabled' ); this.search_field[ 0 ].disabled = true; if ( ! this.is_multiple ) { this.selected_item.unbind( 'focus.chosen', this.activate_action ); } return this.close_field(); } this.container.removeClass( 'chosen-disabled' ); this.search_field[ 0 ].disabled = false; if ( ! this.is_multiple ) { return this.selected_item.bind( 'focus.chosen', this.activate_action ); } }; Chosen.prototype.container_mousedown = function ( evt ) { if ( ! this.is_disabled ) { if ( evt && evt.type === 'mousedown' && ! this.results_showing ) { evt.preventDefault(); } if ( ! ( evt != null && $( evt.target ).hasClass( 'search-choice-close' ) ) ) { if ( ! this.active_field ) { if ( this.is_multiple ) { this.search_field.val( '' ); } $( this.container[ 0 ].ownerDocument ).bind( 'click.chosen', this.click_test_action ); this.results_show(); } else if ( ! this.is_multiple && evt && ( $( evt.target )[ 0 ] === this.selected_item[ 0 ] || $( evt.target ).parents( 'a.chosen-single' ) .length ) ) { evt.preventDefault(); this.results_toggle(); } return this.activate_field(); } } }; Chosen.prototype.container_mouseup = function ( evt ) { if ( evt.target.nodeName === 'ABBR' && ! this.is_disabled ) { return this.results_reset( evt ); } }; Chosen.prototype.search_results_mousewheel = function ( evt ) { let delta; if ( evt.originalEvent ) { delta = evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail; } if ( delta != null ) { evt.preventDefault(); if ( evt.type === 'DOMMouseScroll' ) { delta = delta * 40; } return this.search_results.scrollTop( delta + this.search_results.scrollTop() ); } }; Chosen.prototype.blur_test = function ( evt ) { if ( ! this.active_field && this.container.hasClass( 'chosen-container-active' ) ) { return this.close_field(); } }; Chosen.prototype.close_field = function () { $( this.container[ 0 ].ownerDocument ).unbind( 'click.chosen', this.click_test_action ); this.active_field = false; this.results_hide(); this.container.removeClass( 'chosen-container-active' ); this.clear_backstroke(); this.show_search_field_default(); return this.search_field_scale(); }; Chosen.prototype.activate_field = function () { this.container.addClass( 'chosen-container-active' ); this.active_field = true; this.search_field.val( this.search_field.val() ); return this.search_field.focus(); }; Chosen.prototype.test_active_click = function ( evt ) { let active_container; active_container = $( evt.target ).closest( '.chosen-container' ); if ( active_container.length && this.container[ 0 ] === active_container[ 0 ] ) { return ( this.active_field = true ); } return this.close_field(); }; Chosen.prototype.results_build = function () { this.parsing = true; this.selected_option_count = null; this.results_data = SelectParser.select_to_array( this.form_field ); if ( this.is_multiple ) { this.search_choices.find( 'li.search-choice' ).remove(); } else if ( ! this.is_multiple ) { this.single_set_selected_text(); if ( this.disable_search || this.form_field.options.length <= this.disable_search_threshold ) { this.search_field[ 0 ].readOnly = true; this.container.addClass( 'chosen-container-single-nosearch' ); } else { this.search_field[ 0 ].readOnly = false; this.container.removeClass( 'chosen-container-single-nosearch' ); } } this.update_results_content( this.results_option_build( { first: true, } ) ); this.search_field_disabled(); this.show_search_field_default(); this.search_field_scale(); return ( this.parsing = false ); }; Chosen.prototype.result_do_highlight = function ( el ) { let high_bottom, high_top, maxHeight, visible_bottom, visible_top; if ( el.length ) { this.result_clear_highlight(); this.result_highlight = el; this.result_highlight.addClass( 'highlighted' ); maxHeight = parseInt( this.search_results.css( 'maxHeight' ), 10 ); visible_top = this.search_results.scrollTop(); visible_bottom = maxHeight + visible_top; high_top = this.result_highlight.position().top + this.search_results.scrollTop(); high_bottom = high_top + this.result_highlight.outerHeight(); if ( high_bottom >= visible_bottom ) { return this.search_results.scrollTop( high_bottom - maxHeight > 0 ? high_bottom - maxHeight : 0 ); } else if ( high_top < visible_top ) { return this.search_results.scrollTop( high_top ); } } }; Chosen.prototype.result_clear_highlight = function () { if ( this.result_highlight ) { this.result_highlight.removeClass( 'highlighted' ); } return ( this.result_highlight = null ); }; Chosen.prototype.results_show = function () { if ( this.is_multiple && this.max_selected_options <= this.choices_count() ) { this.form_field_jq.trigger( 'chosen:maxselected', { chosen: this, } ); return false; } this.container.addClass( 'chosen-with-drop' ); this.results_showing = true; this.search_field.focus(); this.search_field.val( this.search_field.val() ); this.winnow_results(); return this.form_field_jq.trigger( 'chosen:showing_dropdown', { chosen: this, } ); }; Chosen.prototype.update_results_content = function ( content ) { return this.search_results.html( content ); }; Chosen.prototype.results_hide = function () { if ( this.results_showing ) { this.result_clear_highlight(); this.container.removeClass( 'chosen-with-drop' ); this.form_field_jq.trigger( 'chosen:hiding_dropdown', { chosen: this, } ); } return ( this.results_showing = false ); }; Chosen.prototype.set_tab_index = function ( el ) { let ti; if ( this.form_field.tabIndex ) { ti = this.form_field.tabIndex; this.form_field.tabIndex = -1; return ( this.search_field[ 0 ].tabIndex = ti ); } }; Chosen.prototype.set_label_behavior = function () { const _this = this; this.form_field_label = this.form_field_jq.parents( 'label' ); if ( ! this.form_field_label.length && this.form_field.id.length ) { this.form_field_label = $( "label[for='" + this.form_field.id + "']" ); } if ( this.form_field_label.length > 0 ) { return this.form_field_label.bind( 'click.chosen', function ( evt ) { if ( _this.is_multiple ) { return _this.container_mousedown( evt ); } return _this.activate_field(); } ); } }; Chosen.prototype.show_search_field_default = function () { if ( this.is_multiple && this.choices_count() < 1 && ! this.active_field ) { this.search_field.val( this.default_text ); return this.search_field.addClass( 'default' ); } this.search_field.val( '' ); return this.search_field.removeClass( 'default' ); }; Chosen.prototype.search_results_mouseup = function ( evt ) { let target; target = $( evt.target ).hasClass( 'active-result' ) ? $( evt.target ) : $( evt.target ).parents( '.active-result' ).first(); if ( target.length ) { this.result_highlight = target; this.result_select( evt ); return this.search_field.focus(); } }; Chosen.prototype.search_results_mouseover = function ( evt ) { let target; target = $( evt.target ).hasClass( 'active-result' ) ? $( evt.target ) : $( evt.target ).parents( '.active-result' ).first(); 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.choice_build = function ( item ) { let choice, close_link, _this = this; choice = $( '<li />', { class: 'search-choice', } ).html( '<span>' + item.html + '</span>' ); if ( item.disabled ) { choice.addClass( 'search-choice-disabled' ); } else { close_link = $( '<a />', { class: 'search-choice-close', 'data-option-array-index': item.array_index, } ); close_link.bind( 'click.chosen', function ( evt ) { return _this.choice_destroy_link_click( evt ); } ); choice.append( close_link ); } return this.search_container.before( choice ); }; Chosen.prototype.choice_destroy_link_click = function ( evt ) { evt.preventDefault(); evt.stopPropagation(); if ( ! this.is_disabled ) { return this.choice_destroy( $( evt.target ) ); } }; Chosen.prototype.choice_destroy = function ( link ) { if ( this.result_deselect( link[ 0 ].getAttribute( 'data-option-array-index' ) ) ) { this.show_search_field_default(); if ( this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1 ) { this.results_hide(); } link.parents( 'li' ).first().remove(); return this.search_field_scale(); } }; Chosen.prototype.results_reset = function () { this.reset_single_select_options(); this.form_field.options[ 0 ].selected = true; this.single_set_selected_text(); this.show_search_field_default(); this.results_reset_cleanup(); this.form_field_jq.trigger( 'change' ); if ( this.active_field ) { return this.results_hide(); } }; Chosen.prototype.results_reset_cleanup = function () { this.current_selectedIndex = this.form_field.selectedIndex; return this.selected_item.find( 'abbr' ).remove(); }; Chosen.prototype.result_select = function ( evt ) { let high, item; if ( this.result_highlight ) { high = this.result_highlight; this.result_clear_highlight(); if ( this.is_multiple && this.max_selected_options <= this.choices_count() ) { this.form_field_jq.trigger( 'chosen:maxselected', { chosen: this, } ); return false; } if ( this.is_multiple ) { high.removeClass( 'active-result' ); } else { this.reset_single_select_options(); } item = this.results_data[ high[ 0 ].getAttribute( 'data-option-array-index' ) ]; item.selected = true; this.form_field.options[ item.options_index ].selected = true; this.selected_option_count = null; if ( this.is_multiple ) { this.choice_build( item ); } else { this.single_set_selected_text( item.text ); } if ( ! ( ( evt.metaKey || evt.ctrlKey ) && this.is_multiple ) ) { this.results_hide(); } this.search_field.val( '' ); if ( this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex ) { this.form_field_jq.trigger( 'change', { selected: this.form_field.options[ item.options_index ] .value, } ); } this.current_selectedIndex = this.form_field.selectedIndex; return this.search_field_scale(); } }; Chosen.prototype.single_set_selected_text = function ( text ) { if ( text == null ) { text = this.default_text; } if ( text === this.default_text ) { this.selected_item.addClass( 'chosen-default' ); } else { this.single_deselect_control_build(); this.selected_item.removeClass( 'chosen-default' ); } return this.selected_item.find( 'span' ).text( text ); }; Chosen.prototype.result_deselect = function ( pos ) { let result_data; result_data = this.results_data[ pos ]; if ( ! this.form_field.options[ result_data.options_index ].disabled ) { result_data.selected = false; this.form_field.options[ result_data.options_index ].selected = false; this.selected_option_count = null; this.result_clear_highlight(); if ( this.results_showing ) { this.winnow_results(); } this.form_field_jq.trigger( 'change', { deselected: this.form_field.options[ result_data.options_index ].value, } ); this.search_field_scale(); return true; } return false; }; Chosen.prototype.single_deselect_control_build = function () { if ( ! this.allow_single_deselect ) { return; } if ( ! this.selected_item.find( 'abbr' ).length ) { this.selected_item .find( 'span' ) .first() .after( '<abbr class="search-choice-close"></abbr>' ); } return this.selected_item.addClass( 'chosen-single-with-deselect' ); }; Chosen.prototype.get_search_text = function () { if ( this.search_field.val() === this.default_text ) { return ''; } return $( '<div/>' ) .text( $.trim( this.search_field.val() ) ) .html(); }; Chosen.prototype.winnow_results_set_highlight = function () { let do_high, selected_results; 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 ); } }; Chosen.prototype.no_results = function ( terms ) { let no_results_html; no_results_html = $( '<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>' ); no_results_html.find( 'span' ).first().html( terms ); this.search_results.append( no_results_html ); return this.form_field_jq.trigger( 'chosen:no_results', { chosen: this, } ); }; Chosen.prototype.no_results_clear = function () { return this.search_results.find( '.no-results' ).remove(); }; Chosen.prototype.keydown_arrow = function () { let next_sib; if ( this.results_showing && this.result_highlight ) { next_sib = this.result_highlight .nextAll( 'li.active-result' ) .first(); if ( next_sib ) { return this.result_do_highlight( next_sib ); } } else { return this.results_show(); } }; Chosen.prototype.keyup_arrow = function () { let prev_sibs; if ( ! this.results_showing && ! this.is_multiple ) { return this.results_show(); } else if ( this.result_highlight ) { prev_sibs = this.result_highlight.prevAll( 'li.active-result' ); if ( prev_sibs.length ) { return this.result_do_highlight( prev_sibs.first() ); } if ( this.choices_count() > 0 ) { this.results_hide(); } return this.result_clear_highlight(); } }; Chosen.prototype.keydown_backstroke = function () { let next_available_destroy; if ( this.pending_backstroke ) { this.choice_destroy( this.pending_backstroke.find( 'a' ).first() ); return this.clear_backstroke(); } next_available_destroy = this.search_container .siblings( 'li.search-choice' ) .last(); if ( next_available_destroy.length && ! next_available_destroy.hasClass( 'search-choice-disabled' ) ) { this.pending_backstroke = next_available_destroy; if ( this.single_backstroke_delete ) { return this.keydown_backstroke(); } 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 ) { let stroke, _ref1; stroke = ( _ref1 = evt.which ) != null ? _ref1 : evt.keyCode; this.search_field_scale(); 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 ); } this.mouse_on_container = false; break; case 13: if ( this.results_showing ) { evt.preventDefault(); } break; case 32: if ( this.disable_search ) { evt.preventDefault(); } break; case 38: evt.preventDefault(); this.keyup_arrow(); break; case 40: evt.preventDefault(); this.keydown_arrow(); break; } }; Chosen.prototype.search_field_scale = function () { let div, f_width, h, style, style_block, styles, w, _i, _len; if ( this.is_multiple ) { h = 0; w = 0; style_block = 'position:absolute; left: -1000px; top: -1000px; display:none;'; styles = [ 'font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing', ]; for ( _i = 0, _len = styles.length; _i < _len; _i++ ) { style = styles[ _i ]; style_block += style + ':' + this.search_field.css( style ) + ';'; } div = $( '<div />', { style: style_block, } ); div.text( this.search_field.val() ); $( 'body' ).append( div ); w = div.width() + 25; div.remove(); f_width = this.container.outerWidth(); if ( w > f_width - 10 ) { w = f_width - 10; } return this.search_field.css( { width: w + 'px', } ); } }; return Chosen; } )( AbstractChosen ); }.call( this ) );