Files
2021-08-02 18:59:42 +01:00

28 lines
817 B
CoffeeScript

angular.module('Darkswarm').factory 'Variants', ->
new class Variants
variants: {}
clear: ->
@variants = {}
register: (variant)->
@variants[variant.id] ||= @extend variant
extend: (variant)->
variant.extended_name = @extendedVariantName(variant)
variant.line_item ||= @lineItemFor(variant) # line_item may have been initialised in Cart#constructor
variant.line_item.total_price = variant.price_with_fees * variant.line_item.quantity
variant
extendedVariantName: (variant) =>
if variant.product_name == variant.name_to_display
name = variant.product_name
else
name = "#{variant.product_name} - #{variant.name_to_display}"
name
lineItemFor: (variant) ->
variant: variant
quantity: 0
max_quantity: 0