Class: LcpRuby::Display::Renderers::ColorSwatch
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- LcpRuby::Display::Renderers::ColorSwatch
- Defined in:
- lib/lcp_ruby/display/renderers/color_swatch.rb
Constant Summary collapse
- SAFE_COLOR_PATTERN =
%r{\A( \#[0-9a-fA-F]{3,8} | # hex colors [a-zA-Z]+ | # named colors rgba?\(\s*[\d.,\s%]+\s*\) | # rgb/rgba hsla?\(\s*[\d.,\s%]+\s*\) # hsl/hsla )\z}x
Instance Method Summary collapse
Methods inherited from BaseRenderer
Instance Method Details
#render(value, options = {}, record: nil, view_context: nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/lcp_ruby/display/renderers/color_swatch.rb', line 12 def render(value, = {}, record: nil, view_context: nil) return nil if value.blank? safe_color = value.to_s.match?(SAFE_COLOR_PATTERN) ? value.to_s : "#ccc" view_context.content_tag(:span, class: "lcp-color-swatch") do view_context.content_tag(:span, "", style: "display:inline-block;width:1em;height:1em;background:#{safe_color};border:1px solid #ccc;border-radius:2px;vertical-align:middle;margin-right:0.25em;") + value.to_s end end |