Class: Wice::Columns::ViewColumn

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

Overview

:nodoc:

Constant Summary collapse

FIELDS =

fields defined from the options parameter

[:attribute, :name, :html, :filter, :model, :allow_multiple_selection,
:in_html, :in_csv, :helper_style, :table_alias, :custom_order, :detach_with_id, :ordering, :auto_reload]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

:nodoc:



124
125
126
127
128
129
130
131
132
133
134
135
# File 'lib/wice/columns.rb', line 124

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.



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

def cell_rendering_block
  @cell_rendering_block
end

#contains_a_text_inputObject (readonly)

Returns the value of attribute contains_a_text_input.



122
123
124
# File 'lib/wice/columns.rb', line 122

def contains_a_text_input
  @contains_a_text_input
end

#custom_filterObject

Returns the value of attribute custom_filter.



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

def custom_filter
  @custom_filter
end

#gridObject

Returns the value of attribute grid.



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

def grid
  @grid
end

#main_tableObject

Returns the value of attribute main_table.



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

def main_table
  @main_table
end

#modelObject

Returns the value of attribute model.



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

def model
  @model
end

#table_nameObject

Returns the value of attribute table_name.



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

def table_name
  @table_name
end

Instance Method Details

#add_css_class(klass_value) ⇒ Object



138
139
140
141
142
143
144
145
146
# File 'lib/wice/columns.rb', line 138

def add_css_class(klass_value)
  self.html ||= {}
  if html[:class].nil?
    html[:class] = klass_value
  else
    html[:class] << ' ' unless html[:class].empty?
    html[:class] << klass_value
  end
end

#attribute_name_fully_qualified_for_all_but_main_table_columnsObject

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



203
204
205
# File 'lib/wice/columns.rb', line 203

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

#auto_reloading_input_with_negation_checkbox?Boolean

:nodoc:

Returns:

  • (Boolean)


233
234
235
# File 'lib/wice/columns.rb', line 233

def auto_reloading_input_with_negation_checkbox?  #:nodoc:
  false
end

:nodoc:

Returns:

  • (Boolean)


225
226
227
# File 'lib/wice/columns.rb', line 225

def capable_of_hosting_filter_related_icons?  #:nodoc:
  self.attribute.blank? && self.name.blank? && ! self.filter_shown?
end

#configObject

:nodoc:



176
177
178
# File 'lib/wice/columns.rb', line 176

def config  #:nodoc:
  @view.config
end

#controllerObject

:nodoc:



180
181
182
# File 'lib/wice/columns.rb', line 180

def controller  #:nodoc:
  @view.controller
end

#css_classObject

:nodoc:



148
149
150
151
152
153
154
# File 'lib/wice/columns.rb', line 148

def css_class #:nodoc:
  if html && html[:class]
    html[:class]
  else
    ''
  end
end

#detachnessObject

:nodoc:



160
161
162
# File 'lib/wice/columns.rb', line 160

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

#filter_shown?Boolean

:nodoc:

Returns:

  • (Boolean)


212
213
214
# File 'lib/wice/columns.rb', line 212

def filter_shown? #:nodoc:
  self.attribute && self.filter
end

#filter_shown_in_main_table?Boolean

:nodoc:

Returns:

  • (Boolean)


216
217
218
# File 'lib/wice/columns.rb', line 216

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

#form_parameter_name_id_and_query(v) ⇒ Object

:nodoc:



194
195
196
197
198
199
200
# File 'lib/wice/columns.rb', line 194

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:



207
208
209
# File 'lib/wice/columns.rb', line 207

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

#has_auto_reloading_calendar?Boolean

:nodoc:

Returns:

  • (Boolean)


241
242
243
# File 'lib/wice/columns.rb', line 241

def has_auto_reloading_calendar?  #:nodoc:
  false
end

#has_auto_reloading_input?Boolean

:nodoc:

Returns:

  • (Boolean)


229
230
231
# File 'lib/wice/columns.rb', line 229

def has_auto_reloading_input?  #:nodoc:
  false
end

#has_auto_reloading_select?Boolean

:nodoc:

Returns:

  • (Boolean)


237
238
239
# File 'lib/wice/columns.rb', line 237

def has_auto_reloading_select?  #:nodoc:
  false
end

#render_filterObject

:nodoc:



185
186
187
188
# File 'lib/wice/columns.rb', line 185

def render_filter #:nodoc:
  params = @grid.filter_params(self)
  render_filter_internal(params)
end

#render_filter_internal(params) ⇒ Object

:nodoc:



190
191
192
# File 'lib/wice/columns.rb', line 190

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

#table_alias_or_table_nameObject

:nodoc:



221
222
223
# File 'lib/wice/columns.rb', line 221

def table_alias_or_table_name  #:nodoc:
  table_alias || table_name
end

#yield_declarationObject

:nodoc:



164
165
166
167
168
169
170
171
172
173
# File 'lib/wice/columns.rb', line 164

def yield_declaration #:nodoc:
  declaration = yield_declaration_of_column_filter
  if declaration
    {
      filterName:  self.name,
      detached:    detachness,
      declaration: declaration
    }
  end
end

#yield_declaration_of_column_filterObject

:nodoc:



156
157
158
# File 'lib/wice/columns.rb', line 156

def yield_declaration_of_column_filter #:nodoc:
  nil
end