Sha256: 0575681f1588d4c7b343081119706aba94f14a7bcfb2d79f53059fb27c57dc1b
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
class CartSku extends Lanes.Models.State session: sku: 'state' qty: type: 'integer', default: 0, required: true derived: total: deps: ['qty', 'sku.price'], fn: -> @sku.price.times(@qty) display_total: deps: ['total'], fn: -> Lanes.u.format.currency @total class Skr.Api.Models.Cart extends Skr.Api.Models.Base session: total: type: 'bigdec', required: true, default: -> _.bigDecimal('0') derived: display_total: deps: ['total'], fn: -> Lanes.u.format.currency @total associations: skus: { collection: CartSku } addSku: (sku, qty = 1) -> ci = new CartSku({sku, qty}) @skus.add(ci) initialize: -> @listenToAndRun(@skus, 'add change', @onSkusChange) onSkusChange: -> @total = _.sumBy(@skus.models, 'total') unless @skus.isEmpty() addBySkuCode: (code) -> Skr.Api.Models.Sku.findByCode(code).then (sku) => @addSku(sku) unless sku.isNew()
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
stockor-0.5.0 | client/skr/api/Models/Cart.coffee |
stockor-0.4.0 | client/skr/api/Models/Cart.coffee |