119 lines
2.6 KiB
Plaintext
119 lines
2.6 KiB
Plaintext
note
|
|
description: "Summary description for {WSF_NAVBAR_CONTROL}."
|
|
author: ""
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
WSF_NAVBAR_CONTROL
|
|
|
|
inherit
|
|
|
|
WSF_STATELESS_MULTI_CONTROL
|
|
redefine
|
|
render
|
|
end
|
|
|
|
create
|
|
make_navbar,
|
|
make_navbar_with_brand
|
|
|
|
feature {NONE} -- Initialization
|
|
|
|
make_navbar
|
|
--Initialize
|
|
do
|
|
make_multi_control
|
|
add_class ("navbar navbar-inverse navbar-fixed-top")
|
|
create nav.make_with_tag_name ("ul")
|
|
nav.add_class ("nav navbar-nav")
|
|
end
|
|
|
|
make_navbar_with_brand (b: STRING)
|
|
-- Initialize with specified brand string
|
|
do
|
|
make_navbar
|
|
brand := b
|
|
end
|
|
|
|
feature -- Rendering
|
|
|
|
render: STRING
|
|
local
|
|
temp: STRING
|
|
nav_string: STRING
|
|
do
|
|
temp := render_tag_with_tagname ("span", "", "", "icon-bar")
|
|
temp.append (render_tag_with_tagname ("span", "", "", "icon-bar"))
|
|
temp.append (render_tag_with_tagname ("span", "", "", "icon-bar"))
|
|
temp := render_tag_with_tagname ("button", temp, "", "navbar-toggle")
|
|
if attached brand as b then
|
|
temp.append (render_tag_with_tagname ("a", b, "href=%"#%"", "navbar-brand"))
|
|
end
|
|
temp := render_tag_with_tagname ("div", temp, "", "navbar-header")
|
|
nav_string := nav.render
|
|
if attached nav_right as n then
|
|
nav_string.append (n.render)
|
|
end
|
|
temp.append (render_tag_with_tagname ("div", nav_string, "", "navbar-collapse"))
|
|
Result := render_tag_with_tagname ("div", temp, "", "container")
|
|
Result := render_tag (Result, "")
|
|
end
|
|
|
|
feature -- Change
|
|
|
|
add_list_element_right (c: WSF_STATELESS_CONTROL)
|
|
-- Add element in li tag to right aligned part of navbar
|
|
local
|
|
right: WSF_STATELESS_MULTI_CONTROL
|
|
li: WSF_STATELESS_MULTI_CONTROL
|
|
do
|
|
create li.make_with_tag_name ("li")
|
|
li.add_control (c)
|
|
add_element_right (li)
|
|
end
|
|
|
|
add_list_element (c: WSF_STATELESS_CONTROL)
|
|
-- Add element in li tag to main nav
|
|
local
|
|
li: WSF_STATELESS_MULTI_CONTROL
|
|
do
|
|
create li.make_with_tag_name ("li")
|
|
li.add_control (c)
|
|
add_element (li)
|
|
end
|
|
|
|
add_element_right (c: WSF_STATELESS_CONTROL)
|
|
-- Add element to right aligned part of navbar
|
|
local
|
|
right: WSF_STATELESS_MULTI_CONTROL
|
|
do
|
|
if attached nav_right as r then
|
|
right := r
|
|
else
|
|
create right.make_with_tag_name ("ul")
|
|
right.add_class ("nav navbar-nav navbar-right")
|
|
nav_right := right
|
|
end
|
|
right.add_control (c)
|
|
end
|
|
|
|
add_element (c: WSF_STATELESS_CONTROL)
|
|
-- Add element to main nav
|
|
do
|
|
nav.add_control (c)
|
|
end
|
|
|
|
feature -- Properties
|
|
|
|
brand: detachable STRING
|
|
-- Optional brand of the navbar
|
|
|
|
nav: WSF_STATELESS_MULTI_CONTROL
|
|
-- Middle nav
|
|
|
|
nav_right: detachable WSF_STATELESS_MULTI_CONTROL
|
|
-- Right nav
|
|
|
|
end
|