Added support for log stored in CMS_STORAGE.
Added support for custom value stored in CMS_STORAGE. Added optional css classes addition to CMS_BLOCK output. Refactored storage, to manage node from node module code only (or mostly). TODO: improved view for a cms node, for now hardcoded.
This commit is contained in:
50
src/theme/cms_html_options.e
Normal file
50
src/theme/cms_html_options.e
Normal file
@@ -0,0 +1,50 @@
|
||||
note
|
||||
description: "Options for any html item during CMS theme output."
|
||||
date: "$Date$"
|
||||
revision: "$Revision$"
|
||||
|
||||
class
|
||||
CMS_HTML_OPTIONS
|
||||
|
||||
feature -- Access
|
||||
|
||||
css_classes: detachable ARRAYED_LIST [READABLE_STRING_8]
|
||||
-- Optional additional css classes.
|
||||
|
||||
feature -- Element change
|
||||
|
||||
add_css_class (a_class: READABLE_STRING_8)
|
||||
-- Add css class `a_class'.
|
||||
local
|
||||
l_css_classes: like css_classes
|
||||
do
|
||||
l_css_classes := css_classes
|
||||
if l_css_classes = Void then
|
||||
create l_css_classes.make (1)
|
||||
css_classes := l_css_classes
|
||||
end
|
||||
l_css_classes.force (a_class)
|
||||
end
|
||||
|
||||
remove_css_class (a_class: READABLE_STRING_GENERAL)
|
||||
-- Remove css class `a_class'.
|
||||
local
|
||||
l_css_classes: like css_classes
|
||||
do
|
||||
l_css_classes := css_classes
|
||||
if l_css_classes /= Void then
|
||||
from
|
||||
l_css_classes.start
|
||||
until
|
||||
l_css_classes.after
|
||||
loop
|
||||
if a_class.is_case_insensitive_equal (l_css_classes.item) then
|
||||
l_css_classes.remove
|
||||
l_css_classes.finish
|
||||
end
|
||||
l_css_classes.forth
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -35,12 +35,27 @@ feature -- Access
|
||||
|
||||
feature -- Conversion
|
||||
|
||||
menu_html (a_menu: CMS_MENU; is_horizontal: BOOLEAN): STRING_8
|
||||
menu_html (a_menu: CMS_MENU; is_horizontal: BOOLEAN; a_options: detachable CMS_HTML_OPTIONS): STRING_8
|
||||
local
|
||||
cl: STRING
|
||||
do
|
||||
debug ("refactor_fixme")
|
||||
fixme ("Refactor HTML code to use the new Bootstrap theme template")
|
||||
end
|
||||
create Result.make_from_string ("<div id=%""+ a_menu.name +"%" class=%"menu%">")
|
||||
create cl.make_from_string ("menu")
|
||||
if a_options /= Void and then attached a_options.css_classes as lst then
|
||||
across
|
||||
lst as ic
|
||||
loop
|
||||
cl.append_character (' ')
|
||||
cl.append (ic.item)
|
||||
end
|
||||
end
|
||||
create Result.make_from_string ("<div id=%"")
|
||||
Result.append (a_menu.name)
|
||||
Result.append ("%" class=%"")
|
||||
Result.append (cl)
|
||||
Result.append ("%">")
|
||||
if is_horizontal then
|
||||
Result.append ("<ul class=%"horizontal%" >%N")
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user