base/src/sqwl/cms/layout/Navbar.scala
author Tomas Zeman <tzeman@volny.cz>
Thu, 06 Dec 2018 13:27:14 +0100
changeset 7 50a354e5bda4
parent 6 ba89bccede7e
child 8 8e0809dad9f7
permissions -rw-r--r--
Content parametrizing
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
package sqwl.cms.layout
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
     3
import scalatags.Text.TypedTag
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
import scalatags.Text.all._
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
import sqwl.cms.{ViewState, config, iContent}
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
object Navbar extends config {
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
  def apply(cnt: iContent, st: ViewState): TypedTag[String] = {
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    11
    /*
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
    val navMenu = ul(cls:="nav navbar-nav navbar-right",
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
      li(a(href:="#about", "O aplikaci"))
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
    )
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    15
    */
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
    val navSections = ul(cls:="nav navbar-nav navbar-section", width:="100%",
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
      cnt.categories map(c =>
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
        li(cls:="text-center", a(href:=c.pathSegment, c.name))
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
      )
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
    )
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    23
    header(cls:="navbar navbar-default navbar-fixed-top",
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
      div(cls:="navbar-inner",
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
        div(cls:="container",
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
          div(cls:="navbar-header",
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    27
            button(`type`:="button", cls:="navbar-toggle collapsed",
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    28
              attr("data-toggle"):="collapse",
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
              attr("data-target"):="#navbar1",
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
              span(cls:="sr-only", "Navigation"),
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
              span(cls:="icon-bar"),
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
              span(cls:="icon-bar"),
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
              span(cls:="icon-bar")
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
            ),
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
            a(href:="#", cls:="navbar-brand", paddingTop:=4, paddingBottom:=4,
7
50a354e5bda4 Content parametrizing
Tomas Zeman <tzeman@volny.cz>
parents: 6
diff changeset
    36
              img(src:=s"/${http.prefix}/public/${cnt.icon._1}",
50a354e5bda4 Content parametrizing
Tomas Zeman <tzeman@volny.cz>
parents: 6
diff changeset
    37
                alt:=cnt.appTitleShort, width:=40, height:=40)),
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
            a(href:="#", cls:="navbar-brand visible-xs",
7
50a354e5bda4 Content parametrizing
Tomas Zeman <tzeman@volny.cz>
parents: 6
diff changeset
    39
              span(cnt.appTitleShort)),
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    40
            a(href:="#", cls:="navbar-brand hidden-xs",
7
50a354e5bda4 Content parametrizing
Tomas Zeman <tzeman@volny.cz>
parents: 6
diff changeset
    41
              span(cnt.appTitle))
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    42
          )
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    43
          //tag("nav")(cls:="hidden-xs", navMenu)
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    44
        )
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    45
      ),
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    46
      div(cls:="collapse navbar-collapse", id:="navbar1",
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    47
        div(cls:="container", navSections))
5
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    48
    )
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    49
  }
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    50
de7c56ce0654 Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    51
}
6
ba89bccede7e Navbar: collapsible
Tomas Zeman <tzeman@volny.cz>
parents: 5
diff changeset
    52