The way I would go about structuring the view would be.
ContainerView (Holds dropdown and the content)
|
|
|-----> HeaderView ( This holds the Drop Dwon)
|
|-----> ContentView (This holds the content)
|
|
|------> ListView ( For all the models )
|
|
|----> ListItemView ( Render each model in collection
You would have a collections object that will be passed along to the Header and ContentView .
You list view will be listening to the reset
and change event of your dropdown and render the list view that would iterate over the collection and render ListItemView
for each model.
Now you have 2 approached to handle Photos
, status
and groups.
You can either have a attribute on each model that says the type of group
it belongs to and have render a different template based on the attribute or you can have a separate view for each group. I would go with the latter ( might be a overkill ) . But it would be helpful if you are talking in terms of scalability and performance.