| author | Tomas Zeman <tomas@functionals.cz> |
| Tue, 24 Nov 2020 11:17:26 +0100 | |
| changeset 31 | 5c4364d6e726 |
| parent 19 | 83fb90bdd15b |
| permissions | -rw-r--r-- |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
1 |
package sqwl.cms.layout |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
2 |
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
3 |
import scalatags.Text.all._ |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
4 |
import scalatags.Text.{TypedTag, tags2}
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
5 |
import sqwl.cms._ |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
6 |
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
7 |
object ArticlesInCategory extends config {
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
8 |
def apply(cnt: iContent, st: ViewState): Option[TypedTag[String]] = |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
9 |
st match {
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
10 |
case ViewCategory(c) => |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
11 |
val l = cnt.articlesByCategory(c) |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
12 |
Some(tags2.section( |
|
19
83fb90bdd15b
Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents:
12
diff
changeset
|
13 |
div(cls:="list-group", l.map(art => |
|
83fb90bdd15b
Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents:
12
diff
changeset
|
14 |
a(href:=s"/${http.prefix}/${art.pathSegment}",
|
|
83fb90bdd15b
Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents:
12
diff
changeset
|
15 |
cls:="list-group-item", art.title) |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
16 |
)), |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
17 |
if (l.isEmpty) "V této kategorii není ještě článek." else "" |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
18 |
)) |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
19 |
case _ => None |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
20 |
} |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
21 |
} |