 
     @resetListItems()
     @fetchMembers()
+
+
+  # return the ideal number of list items limit to ensure that there will be
+  # always a scroller when list controller added.
+  #
+  # get list view height and divide it to item height then add it to 2
+  # to make sure that there will be a scroller. finally choose the calculated
+  # number or the default item limit if it's bigger than calculated one.
+  getFetcherLimit: (isInitialFetch) ->
+
+    limit = @getOption 'itemLimit'
+
+    return limit unless isInitialFetch
+
+    itemHeight   = 71
+    viewHeight   = @listController.getView().getHeight()
+    initialLimit = Math.ceil(viewHeight / itemHeight) + 2
+
+    return limit = Math.max initialLimit, limit

  constructor: (options = {}, data) ->

    options.cssClass                 = 'members-commonview'
    options.itemLimit               ?= 25
    options.fetcherMethod          or= 'fetchMembersWithEmail'
    options.noItemFoundWidget      or= new KDCustomHTMLView
    options.listViewItemClass      or= MemberItemView


    @createSearchView()
    @createListController()

    @listController.getView().once 'viewAppended', =>
      @fetchMembers yes


  createSearchView: ->
