Ticket #4 (closed enhancement: fixed)

Opened 3 years ago

Last modified 19 months ago

Add support for server-side paging

Reported by: deveiant Owned by: deveiant
Priority: major Milestone: Arborous Rebellion Release
Component: Library Version: 1.0.1
Keywords: server-side paging control feature Cc:

Description

Add a high-level implementation of the  Simple Paged Results control via the controls API added in #2.

This will either be a separate 'Pager' class that will provide methods for fetching pages from the server given a page size, offset, and source Treequel::Branchset, or a set of methods for doing the same added directly to Treequel::Branchset as part of its enumerable interface.

dir = Treequel.directory

people = dir.ou( :people ).
    filter( :objectClass => :inetOrgPerson ).
    order( :sn, :givenName, :uid ).
    pagesize( 25 )

people.pages.each do |page|
    page.each do |person|
        puts "%s, %s <%s> (%d)" %
            person.values_at( :sn, :givenName, :mail, :uidNumber )
    end
    unless page.last?
        puts "Page %d/%d. Continue? [Y/n]" % [ page.current, page.max ]
        answer = $stdin.gets
        break unless answer =~ /^y/i
    end
end

Change History

comment:1 Changed 2 years ago by deveiant

  • Status changed from new to accepted
  • Version changed from prerelease to 1.0.1

comment:2 Changed 19 months ago by deveiant

  • Status changed from accepted to closed
  • Resolution set to fixed

Committed in r244.

Note: See TracTickets for help on using tickets.