clean default widget
This commit is contained in:
1 parent
5793f0fe5d
commit
b71ebb3982
4 files changed
+35
-16
No files matched your search
@@ -8,21 +8,20 @@ module DefaultWidgetHelper
|
||||
if method_ary.has_key? field
|
||||
url = case method_ary[field]["args"]
|
||||
when nil # no args
|
||||
eval(method_ary[field]["method"])
|
||||
get_data_link(method_ary[field]["method"])
|
||||
when :self # passing self
|
||||
eval "#{method_ary[field]['method']}('#{row_data.id}')"
|
||||
get_data_link(method_ary[field]['method'],row_data.id)
|
||||
else
|
||||
ary = method_ary[field]["args"].clone
|
||||
object_hash = ary.each do |key,val|
|
||||
ary[key]= row_data.send(val[0]).send(val[1]).to_s
|
||||
ary[key]= type_trans_or_to_s(row_data.send(val[0]).send(val[1]))
|
||||
end
|
||||
binding.pry
|
||||
eval "#{method_ary[field]['method']}(#{object_hash})"
|
||||
get_data_link(method_ary[field]['method'],object_hash)
|
||||
end
|
||||
|
||||
link_to row_data.send(field),url
|
||||
else
|
||||
row_data.send(field)
|
||||
type_trans_or_to_s(row_data.send(field) )
|
||||
end
|
||||
end
|
||||
|
||||
@@ -32,17 +31,42 @@ module DefaultWidgetHelper
|
||||
# # row_data.send(method_ary[field]["args"])
|
||||
# end
|
||||
|
||||
def type_trans_or_to_s(object)
|
||||
case object
|
||||
when Date
|
||||
display_date(object)
|
||||
when DateTime
|
||||
display_date_time(object)
|
||||
when String
|
||||
object
|
||||
else
|
||||
object.to_s
|
||||
end
|
||||
end
|
||||
|
||||
def get_data_link(method_entry,object = nil)
|
||||
case object
|
||||
when nil
|
||||
eval method_entry
|
||||
else
|
||||
eval("#{method_entry}('#{object}')" )
|
||||
end
|
||||
end
|
||||
|
||||
def get_display(row_data,field_setting)
|
||||
label = row_data.send(field_setting[:method])
|
||||
type_trans_or_to_s(label)
|
||||
end
|
||||
|
||||
def get_row_data(row_data,field)
|
||||
field_is_link = (field[0][1]== 'false' ? false : true )
|
||||
field_setting = {:class=>field[0][1],:method=>field[0][0]}
|
||||
if field_is_link
|
||||
field_link = field[0][1].to_s + '_path'
|
||||
binding.pry
|
||||
link = link_to(row_data.send(field_setting[:method]),field_link.send(row_data))
|
||||
link = link_to(get_display(row_data,field_setting),field_link.send(row_data))
|
||||
content_tag(:span,link,:class=>field_setting[:class])
|
||||
else
|
||||
content_tag(:span,row_data.send(field_setting[:method]),:class=>field_setting[:class])
|
||||
content_tag(:span,get_display(row_data,field_setting),:class=>field_setting[:class])
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user