Sha256: 0ebddc7d1344dd0f1dab72d49f46594793798c86a06335c21b9eb11fd9b0ebb8
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
import { getSelect2Config } from "alchemy_solidus/select2_config" $.fn.alchemyVariantSelect = function (options) { const config = getSelect2Config(options) function formatSelection(variant) { return variant.options_text ? `${variant.name} - ${variant.options_text}` : variant.name } function formatResult(variant, _el, query) { const matchTerm = new RegExp(query.term, "gi") const formatMatch = (match) => `<em>${match}</em>` const name = variant.name.replace(matchTerm, formatMatch) const sku = variant.sku.replace(matchTerm, formatMatch) return ` <div class="variant-select-result"> <div> <span>${name}</span> </div> <div> <span>${variant.options_text}</span> <span>${sku}</span> </div> </div> ` } this.select2( $.extend(true, config, { ajax: { data(term, page) { return { q: $.extend( { product_name_or_sku_cont: term, }, options.query_params ), page: page, } }, results(data, page) { return { results: data.variants, more: page * data.per_page < data.total_count, } }, }, formatSelection, formatResult, }) ) }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alchemy-solidus-7.5.1 | app/javascript/alchemy_solidus/variant_select.js |
alchemy-solidus-7.5.0 | app/javascript/alchemy_solidus/variant_select.js |