Refactoring visibility handling

This commit is contained in:
Will Marshall
2014-06-26 14:48:46 +10:00
parent 8862fd555c
commit a4e675e675
5 changed files with 14 additions and 5 deletions

View File

@@ -0,0 +1,4 @@
Darkswarm.filter "visible", ->
(objects)->
objects.filter (obj)->
obj.visible

View File

@@ -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'])

View File

@@ -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

View File

@@ -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}}"}

View File

@@ -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