Angularise filters

This commit is contained in:
Matt-Yorkley
2018-09-13 12:33:10 +01:00
parent 3b9d9db16b
commit 2112f296e4
4 changed files with 80 additions and 56 deletions

View File

@@ -7,16 +7,31 @@ angular.module("admin.orders").controller "ordersCtrl", ($scope, RequestMonitor,
$scope.order_cycle_id = parseInt($attrs.ofnOrderCycleId)
$scope.RequestMonitor = RequestMonitor
$scope.orders = Orders.all
$scope.pagination = Orders.pagination
$scope.orders = Orders.all
$scope.initialise = ->
$scope.q = {
completed_at_not_null: true
}
$scope.fetchResults()
$scope.fetchResults = ->
$scope.fetchResults = (page=1) ->
Orders.index({
'q[created_at_lt]': $scope['q']['created_at_lt'],
'q[created_at_gt]': $scope['q']['created_at_gt'],
'q[state_eq]': $scope['q']['state_eq'],
'q[number_cont]': $scope['q']['number_cont'],
'q[email_cont]': $scope['q']['email_cont'],
'q[bill_address_firstname_start]': $scope['q']['bill_address_firstname_start'],
'q[bill_address_lastname_start]': $scope['q']['bill_address_lastname_start'],
'q[completed_at_not_null]': $scope['q']['completed_at_not_null'],
'q[inventory_units_shipment_id_null]': $scope['q']['inventory_units_shipment_id_null'],
'q[distributor_id_in]': $scope['q']['distributor_id_in'],
'q[order_cycle_id_in]': $scope['q']['order_cycle_id_in'],
'q[order_cycle_id_in]': $scope['q']['order_cycle_id_in'],
per_page: $scope.per_page || 15,
page: $scope.page || 1
page: page
})
$scope.validOrderCycle = (oc) ->
@@ -34,8 +49,7 @@ angular.module("admin.orders").controller "ordersCtrl", ($scope, RequestMonitor,
$scope.changePage = (newPage) ->
$scope.page = newPage
Orders.resetData()
$scope.fetchResults()
$scope.fetchResults(newPage)
for oc in $scope.orderCycles
oc.name_and_status = "#{oc.name} (#{oc.status})"

View File

@@ -1,5 +1,6 @@
angular.module("admin.resources").factory 'Orders', ($q, OrderResource, RequestMonitor) ->
new class Orders
all: []
byID: {}
pristineByID: {}
pagination: {}
@@ -13,10 +14,17 @@ angular.module("admin.resources").factory 'Orders', ($q, OrderResource, RequestM
load: (data) ->
angular.extend(@pagination, data.pagination)
@clearData()
for order in data.orders
@all.push order
@byID[order.id] = order
@pristineByID[order.id] = angular.copy(order)
clearData: ->
@all.length = 0
@byID = {}
@pristineByID = {}
save: (order) ->
deferred = $q.defer()
order.$update({id: order.number})