| author | Tomas Zeman <tzeman@volny.cz> |
| Thu, 06 Dec 2018 15:19:41 +0100 | |
| changeset 12 | e7512f9dc903 |
| parent 8 | 8e0809dad9f7 |
| child 31 | 5c4364d6e726 |
| permissions | -rw-r--r-- |
| 5 | 1 |
package sqwl.cms.layout |
2 |
||
| 6 | 3 |
import scalatags.Text.TypedTag |
| 5 | 4 |
import scalatags.Text.all._ |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
5 |
import sqwl.cms._ |
| 5 | 6 |
|
7 |
object Navbar extends config {
|
|
8 |
||
9 |
def apply(cnt: iContent, st: ViewState): TypedTag[String] = {
|
|
10 |
||
| 6 | 11 |
/* |
| 5 | 12 |
val navMenu = ul(cls:="nav navbar-nav navbar-right", |
13 |
li(a(href:="#about", "O aplikaci")) |
|
14 |
) |
|
| 6 | 15 |
*/ |
| 5 | 16 |
|
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
17 |
def activeCls(c: iCategory): String = {
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
18 |
st match {
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
19 |
case ViewCategory(v) if v == c => "active" |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
20 |
case ViewArticle(v) if v.category contains(c) => "active" |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
21 |
case _ => "" |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
22 |
} |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
23 |
} |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
24 |
|
| 5 | 25 |
val navSections = ul(cls:="nav navbar-nav navbar-section", width:="100%", |
26 |
cnt.categories map(c => |
|
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
27 |
li(cls:=s"text-center ${activeCls(c)}",
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
28 |
a(href:=s"/${http.prefix}/${c.pathSegment}", c.name))
|
| 5 | 29 |
) |
30 |
) |
|
31 |
||
| 6 | 32 |
header(cls:="navbar navbar-default navbar-fixed-top", |
| 5 | 33 |
div(cls:="navbar-inner", |
34 |
div(cls:="container", |
|
35 |
div(cls:="navbar-header", |
|
| 6 | 36 |
button(`type`:="button", cls:="navbar-toggle collapsed", |
37 |
attr("data-toggle"):="collapse",
|
|
| 5 | 38 |
attr("data-target"):="#navbar1",
|
39 |
span(cls:="sr-only", "Navigation"), |
|
40 |
span(cls:="icon-bar"), |
|
41 |
span(cls:="icon-bar"), |
|
42 |
span(cls:="icon-bar") |
|
43 |
), |
|
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
44 |
a(href:=s"/${http.prefix}", cls:="navbar-brand",
|
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
45 |
paddingTop:=4, paddingBottom:=4, |
| 7 | 46 |
img(src:=s"/${http.prefix}/public/${cnt.icon._1}",
|
47 |
alt:=cnt.appTitleShort, width:=40, height:=40)), |
|
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
48 |
a(href:=s"/${http.prefix}", cls:="navbar-brand visible-xs",
|
| 7 | 49 |
span(cnt.appTitleShort)), |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
50 |
a(href:=s"/${http.prefix}", cls:="navbar-brand hidden-xs",
|
| 7 | 51 |
span(cnt.appTitle)) |
| 6 | 52 |
) |
53 |
//tag("nav")(cls:="hidden-xs", navMenu)
|
|
| 5 | 54 |
) |
55 |
), |
|
| 6 | 56 |
div(cls:="collapse navbar-collapse", id:="navbar1", |
57 |
div(cls:="container", navSections)) |
|
| 5 | 58 |
) |
59 |
} |
|
60 |
||
61 |
} |
|
| 6 | 62 |