mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Refactoring visibility handling
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
Darkswarm.filter "visible", ->
|
||||
(objects)->
|
||||
objects.filter (obj)->
|
||||
obj.visible
|
||||
@@ -1,10 +1,9 @@
|
||||
Darkswarm.factory 'Hubs', ($filter, Enterprises) ->
|
||||
Darkswarm.factory 'Hubs', ($filter, Enterprises, visibleFilter) ->
|
||||
new class Hubs
|
||||
constructor: ->
|
||||
@hubs = @order Enterprises.enterprises.filter (hub)->
|
||||
hub.is_distributor
|
||||
@visible = @hubs.filter (hub)->
|
||||
hub.visible
|
||||
@visible = visibleFilter @hubs
|
||||
|
||||
order: (hubs)->
|
||||
$filter('orderBy')(hubs, ['-active', '+orders_close_at'])
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
Darkswarm.factory 'Producers', (Enterprises) ->
|
||||
Darkswarm.factory 'Producers', (Enterprises, visibleFilter) ->
|
||||
new class Producers
|
||||
constructor: ->
|
||||
@producers = Enterprises.enterprises.filter (enterprise)->
|
||||
enterprise.is_primary_producer
|
||||
@visible = visibleFilter @producers
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
.active_table
|
||||
%producer.active_table_node.row.animate-repeat{id: "{{producer.path}}",
|
||||
"scroll-after-load" => true,
|
||||
"ng-repeat" => "producer in filteredProducers = (Producers.producers | filterProducers:query)",
|
||||
"ng-repeat" => "producer in filteredProducers = (Producers.visible | filterProducers:query)",
|
||||
"ng-controller" => "ProducerNodeCtrl",
|
||||
"ng-class" => "{'closed' : !open(), 'open' : open(), 'inactive' : !producer.active}",
|
||||
id: "{{producer.hash}}"}
|
||||
|
||||
@@ -7,6 +7,7 @@ feature %q{
|
||||
}, js: true do
|
||||
include UIComponentHelper
|
||||
let!(:producer) { create(:supplier_enterprise) }
|
||||
let!(:invisible_producer) { create(:supplier_enterprise, visible: false) }
|
||||
|
||||
before do
|
||||
visit producers_path
|
||||
@@ -17,4 +18,8 @@ feature %q{
|
||||
expand_active_table_node producer.name
|
||||
page.should have_content producer.supplied_taxons.join(', ')
|
||||
end
|
||||
|
||||
it "doesn't show invisible producers" do
|
||||
page.should_not have_content invisible_producer.name
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user