Sha256: d25d56f9fde992ec8e1684240b209b03e83a156b7102b5155f2ce3cdd5cb434a

Contents?: true

Size: 1.4 KB

Versions: 26

Compression:

Stored size: 1.4 KB

Contents

class App.Views.Main.Pages.ArticleList extends App.Views.Base
  constructor: (opts = {}) ->
    super opts
    @page = 1

  render: ->
    this._handleLoadMore()

  renderArticles: (articles) ->
    for article in articles
      $('#articles').append JST["templates/main/articles/article_for_list"] {article: article}

  renderNewArticle: (article) ->
    $('#articles').prepend JST["templates/main/articles/article_for_list"] {article: article}

  updateArticle: (articleId) ->
    return if $("#article_#{articleId}").length is 0
    App.Models.Article.find(id: articleId, abbr: true).then (article) ->
      template = JST["templates/main/articles/article_for_list"] {article: article}
      $("#article_#{article.id}").replaceWith template

  commentsQuantityChangedForArticle: (articleId, quantity) ->
    return if $("#article_#{articleId}").length is 0
    sel = $("#article_#{articleId} a.comments_quantity")
    match = /\d+/.exec sel.text()
    quantity = parseInt(match[0]) + quantity
    sel.text "#{quantity} comment#{if quantity is 1 then '' else 's'}"

  _handleLoadMore: ->
    $('#load_more').click (e) =>
      e.preventDefault()
      @page += 1
      App.Models.Article.get 'all', page: @page
      .then (resp) =>
        if resp.resources.length > 0
          this.renderArticles resp.resources
        else
          $('#load_more').replaceWith('<p>No more posts.</p>')
      .catch (err) -> alert "Invalid URL"

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
loco-rails-3.0.3 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.5.3 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.5.2 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-3.0.2 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-3.0.1 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.5.1 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.5.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.4.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.3.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-3.0.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.2.2 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.2.1 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.2.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.1.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-2.0.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-1.5.2 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-1.5.1 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-1.5.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-1.4.0 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee
loco-rails-1.3.3 test/dummy/app/assets/javascripts/views/main/pages/article_list.coffee