Files
EWF/library/server/wsf_html/widget/wsf_with_css_class.e
Jocelyn Fiat a23871ff5b Moved more components from CMS to wsf_html.
This includes WSF_PAGER, and feature in WSF_THEME .. including WSF_API_OPTIONS
used to compute url and link.
2013-03-26 14:17:10 +01:00

110 lines
2.1 KiB
Plaintext

note
description: "Summary description for {WSF_WITH_CSS_CLASS}."
date: "$Date$"
revision: "$Revision$"
deferred class
WSF_WITH_CSS_CLASS
feature -- Status report
css_classes: detachable LIST [READABLE_STRING_8]
feature -- Change
reset_css_classes
do
css_classes := Void
end
add_css_classes (a_classes: detachable ITERABLE [READABLE_STRING_8])
do
if a_classes /= Void then
across
a_classes as c
loop
add_css_class (c.item)
end
end
end
add_css_class (a_class: READABLE_STRING_8)
require
is_valid_css_class: is_valid_css_class (a_class)
local
lst: like css_classes
do
lst := css_classes
if lst = Void then
create {ARRAYED_LIST [READABLE_STRING_8]} lst.make (1)
lst.compare_objects
css_classes := lst
end
lst.force (a_class)
end
remove_css_class (a_class: READABLE_STRING_8)
require
is_valid_css_class: is_valid_css_class (a_class)
local
lst: like css_classes
do
lst := css_classes
if lst /= Void then
lst.prune_all (a_class)
end
end
feature -- Query
is_valid_css_class (s: detachable READABLE_STRING_8): BOOLEAN
do
Result := s /= Void implies (not s.is_empty)
-- To complete
end
feature -- Conversion
append_css_class_to (a_target: STRING; a_additional_classes: detachable ITERABLE [READABLE_STRING_8])
local
f: BOOLEAN
cl: READABLE_STRING_8
do
if css_classes /= Void or a_additional_classes /= Void then
a_target.append (" class=%"")
f := True -- is first
if attached css_classes as l_classes then
across
l_classes as c
loop
cl := c.item
if not cl.is_empty then
if f then
f := False
else
a_target.append_character (' ')
end
a_target.append (cl)
end
end
end
if attached a_additional_classes as l_classes then
across
l_classes as c
loop
cl := c.item
if not cl.is_empty then
if not f then
a_target.append_character (' ')
end
a_target.append (cl)
end
end
end
a_target.append_character ('%"')
end
end
end