From 675e973bf8e0e24593552f596eb3d81e57e19c94 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 19 Sep 2015 15:12:48 +0200 Subject: Elaborate package search and package version search pages --- brep/page | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 5 deletions(-) (limited to 'brep/page') diff --git a/brep/page b/brep/page index 81b6da8..06f3350 100644 --- a/brep/page +++ b/brep/page @@ -11,19 +11,29 @@ #include +#include + namespace brep { // Page common building blocks. // - // Generates paging element block. + // A element default style. + // + struct A_STYLE + { + void + operator() (xml::serializer& s) const; + }; + + // Generates paging element. // - class pager + class PAGER { public: using get_url_type = std::function; - pager (std::size_t current_page, + PAGER (std::size_t current_page, std::size_t item_count, std::size_t item_per_page, std::size_t page_number_count, @@ -40,13 +50,56 @@ namespace brep get_url_type get_url_; }; - // Default pager element block style. + // PAGER element default style. // - struct pager_style + struct PAGER_STYLE { void operator() (xml::serializer& s) const; }; + + // Generates package tags element. + // + class TAGS + { + public: + TAGS (const strings& ts): tags_ (ts) {} + + void + operator() (xml::serializer& s) const; + + private: + const strings& tags_; + }; + + // Generates package version license alternatives element. + // + class LICENSES + { + public: + LICENSES (const license_alternatives& la) + : license_alternatives_ (la) {} + + void + operator() (xml::serializer& s) const; + + private: + const license_alternatives& license_alternatives_; + }; + + // Generates package version priority element. + // + class PRIORITY + { + public: + PRIORITY (const priority& pr): priority_ (pr) {} + + void + operator() (xml::serializer& s) const; + + private: + const priority& priority_; + }; } #endif // BREP_PAGE -- cgit v1.1