Sha256: e77e3cc5400b74784d958e851fd87b24c91ec7eca047d795c82949187d9bfce9

Contents?: true

Size: 1.52 KB

Versions: 11

Compression:

Stored size: 1.52 KB

Contents

<%#encoding: UTF-8%>
// variant autocompletion

$(document).ready(function() {

  if ($('#variant_autocomplete_template').length > 0) {
    window.variantTemplate = Handlebars.compile($('#variant_autocomplete_template').text());
    window.variantStockTemplate = Handlebars.compile($('#variant_autocomplete_stock_template').text());
  }
});

formatVariantResult = function(variant) {
  if (variant["images"][0] != undefined && variant["images"][0].mini_url != undefined) {
    variant.image = variant.images[0].mini_url
  }
  return variantTemplate({ variant: variant })
}

$.fn.variantAutocomplete = function() {
  this.parent().children(".options_placeholder").prop('id', this.parent().data('index'))
  this.select2({
    placeholder: Spree.translations.variant_placeholder,
    minimumInputLength: 3,
    initSelection: function (element, callback) {
      $.get(Spree.routes.variants_search + '/' + element.val(), {}, function (data) { callback(data) })
    },
    ajax: {
      url: Spree.url(Spree.routes.variants_search),
      datatype: 'json',
      data: function(term, page) {
        return {
          q: {
            "product_name_or_sku_cont": term
          }
        }
      },
      results: function (data, page) {
        window.variants = data['variants'];

        return { results: data['variants'] }
      }
    },
    formatResult: formatVariantResult,
    formatSelection: function (variant) {
      $(this.element).parent().children('.options_placeholder').html(variant.options_text)
      return variant.name;
    }
  })
}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
spree_backend-2.2.14 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.13 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.12 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.11 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.10 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.9 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.8 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.7 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.6 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.5 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb
spree_backend-2.2.4 app/assets/javascripts/spree/backend/variant_autocomplete.js.erb