Вход Регистрация
Файл: tyde/www/web/js/components/search.js
Строк: 72
<?php
/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
(function(addon) {

    var 
component;

    if (
window.UIkit) {
        
component addon(UIkit);
    }

    if (
typeof define == "function" && define.amd) {
        
define("uikit-search", ["uikit"], function(){
            return 
component || addon(UIkit);
        });
    }

})(function(
UI){

    
"use strict";

    
UI.component('search', {
        
defaults: {
            
msgResultsHeader   'Search Results',
            
msgMoreResults     'More Results',
            
msgNoResults       'No results found',
            
template           '<ul class="uk-nav uk-nav-search uk-autocomplete-results">
                                      {{#msgResultsHeader}}<li class="uk-nav-header uk-skip">{{msgResultsHeader}}</li>{{/msgResultsHeader}}
                                      {{#items && items.length}}
                                          {{~items}}
                                          <li data-url="{{!$item.url}}">
                                              <a href="{{!$item.url}}">
                                                  {{{$item.title}}}
                                                  {{#$item.text}}<div>{{{$item.text}}}</div>{{/$item.text}}
                                              </a>
                                          </li>
                                          {{/items}}
                                          {{#msgMoreResults}}
                                              <li class="uk-nav-divider uk-skip"></li>
                                              <li class="uk-search-moreresults" data-moreresults="true"><a href="#" onclick="jQuery(this).closest('
form').submit();">{{msgMoreResults}}</a></li>
                                          {{/msgMoreResults}}
                                      {{/end}}
                                      {{^items.length}}
                                        {{#msgNoResults}}<li class="uk-skip"><a>{{msgNoResults}}</a></li>{{/msgNoResults}}
                                      {{/end}}
                                  </ul>'
,

            
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(eleUI.Utils.options(ele.attr("data-uk-search")));
                }
            });
        },

        
init: function() {
            var 
$this this;

            
this.autocomplete UI.autocomplete(this.elementthis.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(edata) {
                if (
data.url) {
                  
location.href data.url;
                } else if(
data.moreresults) {
                  
$this.autocomplete.input.closest('form').submit();
                }
            });

            
this.element.data("search"this);
        }
    });
});
?>
Онлайн: 1
Реклама