mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
28 lines
999 B
CoffeeScript
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)
|