Files
openfoodnetwork/app/assets/javascripts/admin/subscriptions/services/subscriptions.js.coffee
2018-02-09 14:44:13 +11:00

28 lines
999 B
CoffeeScript

angular.module("admin.standingOrders").factory 'StandingOrders', ($q, StandingOrderResource, StandingOrder, RequestMonitor) ->
new class StandingOrders
byID: {}
pristineByID: {}
index: (params={}, callback=null) ->
request = StandingOrderResource.index params, (data) => @load(data)
RequestMonitor.load(request.$promise)
request
load: (standingOrders) ->
for standingOrder in standingOrders
@byID[standingOrder.id] = standingOrder
@pristineByID[standingOrder.id] = angular.copy(standingOrder)
afterCreate: (id) ->
return unless @byID[id]?
@pristineByID[id] = angular.copy(@byID[id])
afterUpdate: (id) ->
return unless @byID[id]?
@pristineByID[id] = angular.copy(@byID[id])
afterRemoveItem: (id, deletedItemID) ->
return unless @pristineByID[id]?
for item, i in @pristineByID[id].standing_line_items when item.id == deletedItemID
@pristineByID[id].standing_line_items.splice(i, 1)