Sha256: 86549b352cec6ff2a75caab612c21d18576af670740392d552cc4c07bde81342

Contents?: true

Size: 1.64 KB

Versions: 7

Compression:

Stored size: 1.64 KB

Contents

(function() {
  var variantTemplate = HandlebarsTemplates["variants/autocomplete"];

  var formatVariantResult = function(variant) {
    return variantTemplate({
      variant: variant
    });
  };

  $.fn.variantAutocomplete = function(searchOptions) {
    if (searchOptions == null) {
      searchOptions = {};
    }
    this.select2({
      placeholder: Spree.translations.variant_placeholder,
      minimumInputLength: 3,
      initSelection: function(element, callback) {
        Spree.ajax({
          url: Spree.pathFor('api/variants/' + element.val()),
          success: callback
        });
      },
      ajax: {
        url: Spree.pathFor('api/variants'),
        datatype: "json",
        quietMillis: 500,
        params: {
          "headers": {
            'Authorization': 'Bearer ' + Spree.api_key
          }
        },
        data: function(term, page) {
          var searchData = {
            variant_search_term: term,
            token: Spree.api_key,
            page: page
          };
          return _.extend(searchData, searchOptions);
        },

        results: function(data, page) {
          window.variants = data["variants"];
          return {
            results: data["variants"],
            more: data.current_page * data.per_page < data.total_count
          };
        }
      },

      formatResult: formatVariantResult,
      formatSelection: function(variant, container, escapeMarkup) {
        if (variant.options_text) {
          return Select2.util.escapeMarkup(variant.name + " (" + variant.options_text + ")");
        } else {
          return Select2.util.escapeMarkup(variant.name);
        }
      }
    });
  };
})();

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
solidus_backend-3.2.9 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.8 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.7 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.6 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.5 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.4 app/assets/javascripts/spree/backend/variant_autocomplete.js
solidus_backend-3.2.3 app/assets/javascripts/spree/backend/variant_autocomplete.js