Class: Wice::ViewColumn

Inherits:
Object show all
Includes:
ActionView::Helpers::AssetTagHelper, ActionView::Helpers::FormTagHelper, ActionView::Helpers::JavaScriptHelper, ActionView::Helpers::TagHelper
Defined in:
lib/view_columns.rb

Overview

:nodoc:

Constant Summary collapse

FIELDS =

fields defined from the options parameter

[:attribute_name, :column_name, :td_html_attrs, :no_filter, :model_class, :allow_multiple_selection,
:in_html, :in_csv, :helper_style, :table_alias, :custom_order, :detach_with_id, :allow_ordering, :auto_reload]
@@handled_type =
Hash.new

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(block, options, grid_obj, tname, mtable, cfilter, view) ⇒ ViewColumn

:nodoc:



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/view_columns.rb', line 20

def initialize(block, options, grid_obj, tname, mtable, cfilter, view)  #:nodoc:
  self.cell_rendering_block = block
  self.grid           = grid_obj
  self.table_name     = tname
  self.main_table     = mtable
  self.custom_filter  = cfilter
  @view = view

  FIELDS.each do |field|
    self.send(field.to_s + '=', options[field])
  end
end

Instance Attribute Details

#cell_rendering_blockObject

Returns the value of attribute cell_rendering_block.



16
17
18
# File 'lib/view_columns.rb', line 16

def cell_rendering_block
  @cell_rendering_block
end

#contains_a_text_inputObject (readonly)

Returns the value of attribute contains_a_text_input.



18
19
20
# File 'lib/view_columns.rb', line 18

def contains_a_text_input
  @contains_a_text_input
end

#css_classObject

:nodoc:



36
37
38
# File 'lib/view_columns.rb', line 36

def css_class
  @css_class
end

#custom_filterObject

Returns the value of attribute custom_filter.



16
17
18
# File 'lib/view_columns.rb', line 16

def custom_filter
  @custom_filter
end

#gridObject

Returns the value of attribute grid.



16
17
18
# File 'lib/view_columns.rb', line 16

def grid
  @grid
end

#main_tableObject

Returns the value of attribute main_table.



16
17
18
# File 'lib/view_columns.rb', line 16

def main_table
  @main_table
end

#model_classObject

Returns the value of attribute model_class.



16
17
18
# File 'lib/view_columns.rb', line 16

def model_class
  @model_class
end

#table_nameObject

Returns the value of attribute table_name.



16
17
18
# File 'lib/view_columns.rb', line 16

def table_name
  @table_name
end

Instance Method Details

#attribute_name_fully_qualified_for_all_but_main_table_columnsObject

bad name, because for the main table the name is not really ‘fully_qualified’



90
91
92
# File 'lib/view_columns.rb', line 90

def attribute_name_fully_qualified_for_all_but_main_table_columns #:nodoc:
  self.main_table ? attribute_name : table_alias_or_table_name + '.' + attribute_name
end

#auto_reloading_input_with_negation_checkbox?Boolean

:nodoc:

Returns:

  • (Boolean)


120
121
122
# File 'lib/view_columns.rb', line 120

def auto_reloading_input_with_negation_checkbox?  #:nodoc:
  false
end

:nodoc:

Returns:

  • (Boolean)


112
113
114
# File 'lib/view_columns.rb', line 112

def capable_of_hosting_filter_related_icons?  #:nodoc:
  self.attribute_name.blank? && self.column_name.blank? && ! self.filter_shown?
end

#configObject

:nodoc:



62
63
64
# File 'lib/view_columns.rb', line 62

def config  #:nodoc:
  @view.config
end

#controllerObject

:nodoc:



66
67
68
# File 'lib/view_columns.rb', line 66

def controller  #:nodoc:
  @view.controller
end

#detachnessObject

:nodoc:



44
45
46
# File 'lib/view_columns.rb', line 44

def detachness #:nodoc:
  (! detach_with_id.blank?).to_s
end

#filter_shown?Boolean

:nodoc:

Returns:

  • (Boolean)


99
100
101
# File 'lib/view_columns.rb', line 99

def filter_shown? #:nodoc:
  self.attribute_name && ! self.no_filter
end

#filter_shown_in_main_table?Boolean

:nodoc:

Returns:

  • (Boolean)


103
104
105
# File 'lib/view_columns.rb', line 103

def filter_shown_in_main_table? #:nodoc:
  filter_shown? && ! self.detach_with_id
end

#form_parameter_name_id_and_query(v) ⇒ Object

:nodoc:



81
82
83
84
85
86
87
# File 'lib/view_columns.rb', line 81

def form_parameter_name_id_and_query(v) #:nodoc:
  query = form_parameter_template(v)
  query_without_equals_sign = query.sub(/=$/,'')
  parameter_name = CGI.unescape(query_without_equals_sign)
  dom_id = id_out_of_name(parameter_name)
  return query, query_without_equals_sign, parameter_name, dom_id.tr('.', '_')
end

#fully_qualified_attribute_nameObject

:nodoc:



94
95
96
# File 'lib/view_columns.rb', line 94

def fully_qualified_attribute_name #:nodoc:
  table_alias_or_table_name + '.' + attribute_name
end

#has_auto_reloading_calendar?Boolean

:nodoc:

Returns:

  • (Boolean)


128
129
130
# File 'lib/view_columns.rb', line 128

def has_auto_reloading_calendar?  #:nodoc:
  false
end

#has_auto_reloading_input?Boolean

:nodoc:

Returns:

  • (Boolean)


116
117
118
# File 'lib/view_columns.rb', line 116

def has_auto_reloading_input?  #:nodoc:
  false
end

#has_auto_reloading_select?Boolean

:nodoc:

Returns:

  • (Boolean)


124
125
126
# File 'lib/view_columns.rb', line 124

def has_auto_reloading_select?  #:nodoc:
  false
end

#render_filterObject

:nodoc:



71
72
73
74
75
# File 'lib/view_columns.rb', line 71

def render_filter #:nodoc:
  params = @grid.filter_params(self)
  res = render_filter_internal(params)
  return (res.is_a?(Array)) ? res : [res, nil]
end

#render_filter_internal(params) ⇒ Object

:nodoc:



77
78
79
# File 'lib/view_columns.rb', line 77

def render_filter_internal(params) #:nodoc:
  '<!-- implement me! -->'
end

#table_alias_or_table_nameObject

:nodoc:



108
109
110
# File 'lib/view_columns.rb', line 108

def table_alias_or_table_name  #:nodoc:
  table_alias || table_name
end

#yield_declaration_of_column_filterObject

:nodoc:



40
41
42
# File 'lib/view_columns.rb', line 40

def yield_declaration_of_column_filter #:nodoc:
  nil
end

#yield_javascriptObject

:nodoc:



48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/view_columns.rb', line 48

def yield_javascript #:nodoc:
  declaration = yield_declaration_of_column_filter
  if declaration
    %!#{@grid.name}.register( {
      filter_name : "#{self.column_name}",
      detached : #{detachness},
      #{declaration}
    } ); !
  else
    ''
  end
end