/*! UIkit 2.27.4 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ (function(addon) { var component; if (window.UIkit2) { component = addon(UIkit2); } if (typeof define == 'function' && define.amd) { define('uikit-search', ['uikit'], function(){ return component || addon(UIkit2); }); } })(function(UI){ "use strict"; UI.component('search', { defaults: { msgResultsHeader : 'Search Results', msgMoreResults : 'More Results', msgNoResults : 'No results found', template : '', renderer: function(data) { var opts = this.options; this.dropdown.append(this.template({items:data.results || [], msgResultsHeader:opts.msgResultsHeader, msgMoreResults: opts.msgMoreResults, msgNoResults: opts.msgNoResults})); this.show(); } }, boot: function() { // init code UI.$html.on('focus.search.uikit', '[data-uk-search]', function(e) { var ele =UI.$(this); if (!ele.data('search')) { UI.search(ele, UI.Utils.options(ele.attr('data-uk-search'))); } }); }, init: function() { var $this = this; this.autocomplete = UI.autocomplete(this.element, this.options); this.autocomplete.dropdown.addClass('uk-dropdown-search'); this.autocomplete.input.on("keyup", function(){ $this.element[$this.autocomplete.input.val() ? 'addClass':'removeClass']('uk-active'); }).closest("form").on("reset", function(){ $this.value = ''; $this.element.removeClass('uk-active'); }); this.on('selectitem.uk.autocomplete', function(e, data) { if (data.url) { location.href = data.url; } else if(data.moreresults) { $this.autocomplete.input.closest('form').submit(); } }); this.element.data('search', this); } }); });