Sha256: c69935580e8f033a3599278acced9bf5dc29d25132edfadff7a49d2e3243c902
Contents?: true
Size: 1.63 KB
Versions: 2
Compression:
Stored size: 1.63 KB
Contents
class @OrderItemBuilder NEW_ORDER_ITEM_SELECTOR = '.js-new-order-item' LINK_TO_REMOVE_ORDER_ITEM_SELECTOR = '.js-remove-order-item' constructor: -> @setSelectors() @$variantSelector.on('select2:select', (event) => @buildOrderItem(event.params.data)) $(document).on('click', LINK_TO_REMOVE_ORDER_ITEM_SELECTOR, (event) => @removeOrderItem(event.target)) setSelectors: -> @$variantSelector = $('#js-variant-selector') @$linkToAddOrderItem = $('#js-add-order-item') @$orderItemsTable = $('#js-order-items-table').find('tbody') buildOrderItem: (variant) -> $orderItem = @newOrderItem() @fillOrderItem($orderItem, variant) @$orderItemsTable.append($orderItem) @refreshPricesFor($orderItem) # TODO: Commonize this method newOrderItem: -> newId = new Date().getTime() @$linkToAddOrderItem.click() $orderItem = $(NEW_ORDER_ITEM_SELECTOR).filter('.hidden').last() $orderItem.removeClass('hidden') $orderItem.html($orderItem.html().replace(/new_order_item/g, newId)) $orderItem fillOrderItem: ($orderItem, variant) -> $orderItem.find('[data-name="variant-id"]').val(variant.id) $orderItem.find('[data-name="name"]').val(variant.text) $orderItem.find('[data-name="sku"]').val(variant.sku) $orderItem.find('[data-name="price"]').val(variant.price) $orderItem.find('[data-name="subtotal-price"]').val(variant.price) $orderItem.find('[data-name="image-url"]').attr('src', variant.image_url) removeOrderItem: (element) -> $(element).closest(NEW_ORDER_ITEM_SELECTOR).remove() refreshPricesFor: ($orderItem) -> $orderItem.find('[data-name="price"]').trigger('change')
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
comable-backend-0.7.1 | app/assets/javascripts/comable/admin/order_item_builder.coffee |
comable-backend-0.7.0 | app/assets/javascripts/comable/admin/order_item_builder.coffee |