Sha256: 986930b147c1721853ccefa61ce5b567d97b8d700bda0db18044462baef16f01

Contents?: true

Size: 1.36 KB

Versions: 22

Compression:

Stored size: 1.36 KB

Contents

// Expose plugin as an AMD module if AMD loader is present:
(function (factory) {
  'use strict';

  if (typeof define === 'function' && define.amd) {
    define(['knockout', 'jquery'], factory);
  } else {
    window.ko.bindingHandlers.veil = factory(ko, jQuery);
  }

}(function (ko, $) {
  'use strict';

  /**
   * A Knockout binding handler for Veil
   *
   * @global
   */
  var veil = {
    /** @lends ko.bindingHandlers.veil */
    init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
      var $element        = $(element),
          veilTemplate    = allBindingsAccessor().veilTemplate,
          veilOptions     = allBindingsAccessor().veilOptions || {},
          contentCallback;

      contentCallback = function(overlay) {
        ko.renderTemplate(veilTemplate, valueAccessor(), {}, overlay.get(0));
      };

      $element.veil(veilOptions);
      $element.veil().addCallback('afterCreate', contentCallback);

      $element.on('click', function(ev) {
        if ($element.veil().isActive()) {
          $element.veil().hide();
        } else {
          $element.veil().show();
        }

        ev.stopPropagation();
      });

      ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
        try {
          $(element).veil().destroy();
        } catch (e) {
          
        }
      });
    }
  };

  return veil;
}));

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
kea-rails-1.0.9 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha14 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha13 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha12 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha11 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha10 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha9 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha8 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha7 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha6 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha5 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha4 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha3 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha2 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-1.0.8 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-2.0.0.pre.alpha1 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-1.0.7 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-1.0.6 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-1.0.5 vendor/assets/components/veiljs/veil-knockout.js
kea-rails-1.0.4 vendor/assets/components/veiljs/veil-knockout.js