Sha256: e3f60bcb5874d24f28e788905c7faf9ea102d21701a90a3e066f65a65d0bcc5c
Contents?: true
Size: 1.59 KB
Versions: 3
Compression:
Stored size: 1.59 KB
Contents
# variant autocompletion $(document).ready -> if $("#variant_autocomplete_template").length > 0 window.variantTemplate = Handlebars.compile($("#variant_autocomplete_template").text()) window.variantStockTemplate = Handlebars.compile($("#variant_autocomplete_stock_template").text()) window.variantLineItemTemplate = Handlebars.compile($("#variant_line_items_autocomplete_stock_template").text()) return formatVariantResult = (variant) -> variant.image = variant.images[0].mini_url if variant["images"][0] isnt `undefined` and variant["images"][0].mini_url isnt `undefined` variantTemplate variant: variant $.fn.variantAutocomplete = (searchOptions = {}) -> @select2 placeholder: Spree.translations.variant_placeholder minimumInputLength: 3 initSelection: (element, callback) -> Spree.ajax url: Spree.routes.variants_api + "/" + element.val() success: callback ajax: url: Spree.routes.variants_api datatype: "json" quietMillis: 500 params: { "headers": { "X-Spree-Token": Spree.api_key } } data: (term, page) => searchData = q: product_name_or_sku_cont: term token: Spree.api_key _.extend(searchData, searchOptions) results: (data, page) -> window.variants = data["variants"] results: data["variants"] formatResult: formatVariantResult formatSelection: (variant, container, escapeMarkup) -> if !!variant.options_text Select2.util.escapeMarkup("#{variant.name} (#{variant.options_text}") else Select2.util.escapeMarkup(variant.name)
Version data entries
3 entries across 3 versions & 1 rubygems