New pattern: blank Options for index drop down filters are added within service

Rather than in the controller after data is loaded
This commit is contained in:
Rob Harrington
2015-11-16 10:30:44 +11:00
parent 76414dedff
commit 767671c3b4
6 changed files with 88 additions and 31 deletions

View File

@@ -1 +1 @@
angular.module('admin.orderCycles', ['ngResource'])
angular.module('admin.orderCycles', ['ngResource', 'admin.indexUtils'])

View File

@@ -1,16 +1,22 @@
angular.module("admin.orderCycles").factory 'OrderCycles', ($q, OrderCycleResource) ->
angular.module("admin.orderCycles").factory 'OrderCycles', ($q, OrderCycleResource, blankOption) ->
new class OrderCycles
orderCyclesByID: {}
pristineByID: {}
index: (params={}, callback=null) ->
OrderCycleResource.index params, (data) =>
includeBlank = !!params['includeBlank']
delete params['includeBlank']
OrderCycleResource.index(params, (data) =>
for orderCycle in data
@orderCyclesByID[orderCycle.id] = orderCycle
@pristineByID[orderCycle.id] = angular.copy(orderCycle)
(callback || angular.noop)(data)
data.unshift(blankOption()) if includeBlank
data
)
save: (order_cycle) ->
deferred = $q.defer()
order_cycle.$update({id: order_cycle.id})