class AdminUI::Column
Table rendering classes
Attributes
Public Class Methods
Source
# File app/lib/ui/table.rb, line 303 def initialize(sym, cssclass: '', header: '', spanclass: 'val', defval: '', filterable: false, id: false, idlist: false, prefix: '', link: false) @sym = sym @cssclass = cssclass.empty? ? sym.to_s : cssclass @header = header.empty? ? sym.to_s : header @spanclass = spanclass @defval = defval @filterable = filterable @id = id @link = link @idlist = idlist @prefix = prefix end
Public Instance Methods
Source
# File app/lib/ui/table.rb, line 319 def render(cellval) if cellval.is_a?(Array) s = '' cellval.each do |vv| title = vv.is_a?(Hash) ? vv.fetch(:title, vv.fetch(:value, '')) : vv s += "<span class='#{spanclass}' title='#{title}'>#{render(vv)}</span>" end s.to_s elsif cellval.is_a?(Hash) val = cellval.fetch(:value, '') if val.to_s.empty? render_string('') elsif cellval.key?(:href) href = cellval.fetch(:href, '') title = cellval.fetch(:title, '') disabled = cellval.fetch(:disabled, false) cssclass = cellval.fetch(:cssclass, '') post = cellval.fetch(:post, false) data = cellval.fetch(:data, '') confmsg = cellval.fetch(:confmsg, '') render_link(val, href, cssclass: cssclass, title: title, disabled: disabled, post: post, data: data, confmsg: confmsg) elsif cellval.key?(:title) render_span(val, title: cellval.fetch(:title, ''), cssclass: cellval.fetch(:cssclass, '')) else cellval.fetch(:value, '').to_s end elsif @cssclass.split.include?('status') render_span(cellval, cssclass: cellval) elsif @cssclass.split.include?('check_status') # Enable the same CSS logic as a regular status column render_span(cellval, cssclass: cellval) else render_string(cellval.to_s) end end
Source
# File app/lib/ui/table.rb, line 360 def render_link(val, href, cssclass: '', title: '', disabled: false, post: false, data: '', confmsg: '') dis = disabled ? 'disabled' : '' if post %{ <a href='javascript:void(0)' url='#{href}' data='#{data}' class='post #{cssclass}' title='#{title}' confmsg='#{confmsg}' #{dis} >#{val}</a> } else %( <a href='#{href}' class='#{cssclass}' title='#{title}' #{dis} >#{val}</a> ) end end
Source
# File app/lib/ui/table.rb, line 384 def render_span(val, cssclass: '', title: '') "<span class='#{cssclass}' title='#{title}'>#{val}</span>" end