aboutsummaryrefslogtreecommitdiff
path: root/brep/page
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-19 15:12:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-24 11:23:38 +0200
commit675e973bf8e0e24593552f596eb3d81e57e19c94 (patch)
treed9d8c5d85287e6c7b727ef0f71215a31d4d32632 /brep/page
parenta64dad6a0a6f6893bbb6eed7065485c1965ff70b (diff)
Elaborate package search and package version search pages
Diffstat (limited to 'brep/page')
-rw-r--r--brep/page63
1 files changed, 58 insertions, 5 deletions
diff --git a/brep/page b/brep/page
index 81b6da8..06f3350 100644
--- a/brep/page
+++ b/brep/page
@@ -11,19 +11,29 @@
#include <xml/forward>
+#include <brep/package>
+
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<std::string(std::size_t page)>;
- 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