Sha256: 35e9ead75b25d30694c8a68ab9b5e1fc6e5275c2661855d149eddacf6d430a82

Contents?: true

Size: 989 Bytes

Versions: 7

Compression:

Stored size: 989 Bytes

Contents

$.fn.productAutocomplete = function () {
  'use strict';

  this.select2({
    minimumInputLength: 1,
    multiple: true,
    initSelection: function (element, callback) {
      $.get(Spree.routes.product_search, {
        ids: element.val().split(',')
      }, function (data) {
        callback(data.products);
      });
    },
    ajax: {
      url: Spree.routes.product_search,
      datatype: 'json',
      data: function (term, page) {
        return {
          q: {
            name_cont: term,
            sku_cont: term
          },
          m: 'OR'
        };
      },
      results: function (data, page) {
        var products = data.products ? data.products : [];
        return {
          results: products
        };
      }
    },
    formatResult: function (product) {
      return product.name;
    },
    formatSelection: function (product) {
      return product.name;
    }
  });
};

$(document).ready(function () {
  $('.product_picker').productAutocomplete();
});

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
spree_backend-2.0.13 app/assets/javascripts/admin/product_picker.js
spree_backend-2.0.12 app/assets/javascripts/admin/product_picker.js
spree_backend-2.0.11 app/assets/javascripts/admin/product_picker.js
spree_backend-2.0.10 app/assets/javascripts/admin/product_picker.js
spree_backend-2.0.9 app/assets/javascripts/admin/product_picker.js
spree_backend-2.1.4 app/assets/javascripts/admin/product_picker.js
spree_backend-2.0.8 app/assets/javascripts/admin/product_picker.js