$(document).ready -> window.productTemplate = Handlebars.compile($('#product_template').text()); $('#taxon_products').sortable({ handle: ".js-sort-handle" }); formatTaxon = (taxon) -> Select2.util.escapeMarkup(taxon.pretty_name) $('#taxon_products').on "sortstop", (event, ui) -> $.ajax url: Spree.routes.classifications_api, method: 'PUT', dataType:'json', data: token: Spree.api_key, product_id: ui.item.data('product-id'), taxon_id: $('#taxon_id').val(), position: ui.item.index() if $('#taxon_id').length > 0 $('#taxon_id').select2 dropdownCssClass: "taxon_select_box", placeholder: Spree.translations.find_a_taxon, ajax: url: Spree.routes.taxons_api, datatype: 'json', data: (term, page) -> per_page: 50, page: page, without_children: true, token: Spree.api_key, q: name_cont: term results: (data, page) -> more = page < data.pages; results: data['taxons'], more: more formatResult: formatTaxon, formatSelection: formatTaxon $('#taxon_id').on "change", (e) -> el = $('#taxon_products') $.ajax url: Spree.routes.taxon_products_api, data: id: e.val, token: Spree.api_key success: (data) -> el.empty() if data.products.length == 0 $('#taxon_products').html("