Sha256: 64b43db158477177a0d821f7e375e74eb4bee92ccc6153f6fffaddc0eafa3baf

Contents?: true

Size: 1.27 KB

Versions: 16

Compression:

Stored size: 1.27 KB

Contents

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

  // Default options
  options = options || {}
  var multiple = typeof (options.multiple) !== 'undefined' ? options.multiple : true
  var values = typeof (options.values) !== 'undefined' ? options.values : null

  function addOptions(select, values) {
    $.ajax({
      url: Spree.routes.products_api_v2,
      dataType: 'json',
      data: {
        filter: {
          id_in: values
        },
        fields: {
          product: 'name'
        }
      },
      headers: Spree.apiV2Authentication(),
    }).then(function (data) {
      select.addSelect2Options(data.data)
    })
  }

  this.select2({
    multiple: multiple,
    minimumInputLength: 3,
    ajax: {
      url: Spree.routes.products_api_v2,
      dataType: 'json',
      data: function (params) {
        return {
          filter: {
            name_or_master_sku_cont: params.term
          },
          fields: {
            product: 'name'
          }
        }
      },
      headers: Spree.apiV2Authentication(),
      processResults: function(data) {
        return formatSelect2Options(data)
      }
    }
  })

  if (values) {
    addOptions(this, values)
  }
}

document.addEventListener("spree:load", function() {
  $('.product_picker').productAutocomplete()
})

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
spree_backend-4.8.4 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.8.3 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.8.2 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.8.1 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.7.2 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.6.2 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.7.1 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.7.0 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.6.1 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.6.0 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.5.1 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.5.0 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.4.1 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.4.0 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.4.0.rc2 app/assets/javascripts/spree/backend/product_picker.js
spree_backend-4.4.0.rc1 app/assets/javascripts/spree/backend/product_picker.js