     @listenTo @collection, "add", @added
     @listenTo @collection, 'reset', @addAll
     @listenTo @collection, "remove", @removed
+    @listenTo @collection, "request", @showLoading.bind(@, true)
+    @listenTo @collection, "sync", @showLoading.bind(@, false)
 
     @listenTo @, "render:post", @addAll
     @listenTo @, "close", (e) =>


    @showEmpty()

  showEmpty: () ->
    if @emptySelector
      if @collection.length == 0
        @$el.find(@emptySelector).removeClass @emptyToggleClass
      else
        @$el.find(@emptySelector).addClass @emptyToggleClass
    if @existsSelector
      if @collection.length > 0
        @$el.find(@existsSelector).removeClass @emptyToggleClass
      else
        @$el.find(@existsSelector).addClass @emptyToggleClass

  remove: () ->
    for cid, view of @views

  listSelector: null
  emptySelector: ".empty"
  existsSelector: ".exists"
  loadingSelector: ".loading"
  emptyToggleClass: "hide"
  filter: null
  filterFunc: (model, filters) ->
