From 75825230abcc5f303a29f1f74b29c36e6140a064 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 13 Sep 2015 22:46:48 +0200 Subject: Implement package details page --- brep/page | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 brep/page (limited to 'brep/page') diff --git a/brep/page b/brep/page new file mode 100644 index 0000000..81b6da8 --- /dev/null +++ b/brep/page @@ -0,0 +1,52 @@ +// file : brep/page -*- C++ -*- +// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BREP_PAGE +#define BREP_PAGE + +#include +#include // size_t +#include + +#include + +namespace brep +{ + // Page common building blocks. + // + + // Generates paging element block. + // + class pager + { + public: + using get_url_type = std::function; + + pager (std::size_t current_page, + std::size_t item_count, + std::size_t item_per_page, + std::size_t page_number_count, + get_url_type get_url); + + void + operator() (xml::serializer& s) const; + + private: + std::size_t current_page_; + std::size_t item_count_; + std::size_t item_per_page_; + std::size_t page_number_count_; + get_url_type get_url_; + }; + + // Default pager element block style. + // + struct pager_style + { + void + operator() (xml::serializer& s) const; + }; +} + +#endif // BREP_PAGE -- cgit v1.1