Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

list views #35

Closed
18 tasks done
LuizArmesto opened this issue Jun 5, 2014 · 4 comments
Closed
18 tasks done

list views #35

LuizArmesto opened this issue Jun 5, 2014 · 4 comments
Assignees
Labels

Comments

@LuizArmesto
Copy link
Member

  • generic item partial view
    • small
    • large
  • contributions partial view
    • list items
    • pagination
    • infinite scroll
    • filter controls
  • users (following/followers/contributors) partial view
    • list items
    • pagination
    • infinite scroll
  • geo_data list
    • list items
    • pagination
    • infinite scroll
    • filter controls
  • adjust list css to fit inside modal
@LuizArmesto LuizArmesto self-assigned this Jun 5, 2014
@andersoncardoso
Copy link
Member

Eu dei uma olhada na parte de listas e elas tão precisando de uma refatorada.
Por exemplo o template de lists/_item.html.erb ele tem assignements e muita logica.

Uma alternativa legal pra evitar isso seria usar um ViewObject, pode ser um PORO (plain old ruby object) mesmo que encapsule essas coisas.
algo como:

# view_objects/list_item.rb
module ViewObjects 
  class ListItem
     def initialize(object)
       @object
     end

     # logica e metodos para serem chamados nos templates. 
     # ...
  end
end

ai no template vc elimina toda logica e assignments e só ficam chamadas de metodos do ViewObject.

outro aspecto é evitar renderizar partials implicitamente usando collections:

<%= render @contributions, :size => :small, :control => :counters %>

eu prefiro mil vezes chamar explicitamente o partial, fica mais fácil de encontrar as coisas. Usando a ideia do viewObject:

<% @contibutions.each do |contrib| %>
<%= render 'meu_list_partial', item => ViewObjects::ListItem.new(contrib) %>
<% end %>

Depois dou mais uma fuçada geral nessa parte.

@LuizArmesto
Copy link
Member Author

Estava refatorando o lists/_item.html.erb agora pouco. Coloquei a lógica em helpers, mas vou ver como que fica com o ViewObject.

@andersoncardoso
Copy link
Member

👍

@andersoncardoso
Copy link
Member

#75

@LuizArmesto LuizArmesto removed the doing label Oct 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants