mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
28 lines
994 B
CoffeeScript
28 lines
994 B
CoffeeScript
angular.module("admin.subscriptions").factory 'Subscriptions', ($q, SubscriptionResource, Subscription, RequestMonitor) ->
|
|
new class Subscriptions
|
|
byID: {}
|
|
pristineByID: {}
|
|
|
|
index: (params={}, callback=null) ->
|
|
request = SubscriptionResource.index params, (data) => @load(data)
|
|
RequestMonitor.load(request.$promise)
|
|
request
|
|
|
|
load: (subscriptions) ->
|
|
for subscription in subscriptions
|
|
@byID[subscription.id] = subscription
|
|
@pristineByID[subscription.id] = angular.copy(subscription)
|
|
|
|
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].subscription_line_items when item.id == deletedItemID
|
|
@pristineByID[id].subscription_line_items.splice(i, 1)
|