move url filter functionality to service ProductFiltersService

This commit is contained in:
Gaetan Riou
2020-08-07 18:10:51 +10:00
parent bba683469b
commit 7356d0fe77
6 changed files with 151 additions and 64 deletions

View File

@@ -0,0 +1,23 @@
angular.module("ofn.admin").factory "ProductFiltersService", ($httpParamSerializer) ->
new class ProductFiltersService
productFilters: ['producerFilter', 'categoryFilter', 'query', 'sorting', 'importDateFilter']
loadFromUrl: (filters) ->
loadedFilters = {}
for filter in @productFilters
loadedFilters[filter] = if filters[filter] then filters[filter] else ""
loadedFilters
generate: (ctrlFilters) ->
filters = {}
for filter in @productFilters
filters[filter] = ctrlFilters[filter] if ctrlFilters[filter]
filters
buildUrl: (baseUrl, ctrlFilters) ->
filterUrl = $httpParamSerializer(@generate(ctrlFilters))
filterUrl = "?#{filterUrl}" if filterUrl isnt ""
"#{baseUrl}#{filterUrl}"