Sha256: dbf784c5da8b2c241fab71e30b31c39150f10351801bd6220d0891ff8d90b848

Contents?: true

Size: 1.47 KB

Versions: 17

Compression:

Stored size: 1.47 KB

Contents

(function(ko, $) {
  "use strict";

  ko.bindingHandlers.sherlock = {
    init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
      var $container  = $(element),
          options     = typeof ko.unwrap(valueAccessor()) === 'object' ? ko.unwrap(valueAccessor()) : {},
          $providerSearchField,
          sherlockVm;
      
      sherlockVm = new app.sherlock.SherlockVm();
      
      sherlockVm.params.subscribe(function(params) {
        bindingContext.$data.sherlockParams(params);
      });
      
      sherlockVm.setup(options);
      
      ko.renderTemplate('sherlock-container-template', sherlockVm, {}, element);
      
      $container.addClass('sherlock-search-bar');
      
      $providerSearchField = $container.find('.provider-search-field > input');
      
      $providerSearchField.on('focus', function() {
        sherlockVm.providerSearchActive(true);
      });
      
      $providerSearchField.on('blur', function() {
        // if we do not delay this, it will fire before the 'click'
        // event on dropdown list entries, clearing the list
        setTimeout(function() {
          sherlockVm.providerSearchActive(false);
        }, 200);
      });
      
      $container.on('click', function() {
        $providerSearchField.focus();
      });
      
      return { controlsDescendantBindings: true };
    },
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {

    }
  };

})(ko, $);

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
kea-rails-1.0.9 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha14 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha13 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha12 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha11 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha10 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha9 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha8 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha7 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha6 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha5 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha4 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha3 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha2 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-1.0.8 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-2.0.0.pre.alpha1 app/assets/javascripts/kea/bindings/sherlock.js
kea-rails-1.0.7 app/assets/javascripts/kea/bindings/sherlock.js