class DistrictCnSelector::Selector

Attributes

html_options[R]
instance_tag[R]
options[R]
region_code[R]

Public Class Methods

new(instance_tag, region_code, options = {}, html_options = {}) click to toggle source
# File lib/district_cn_selector/selector.rb, line 12
def initialize(instance_tag, region_code, options = {}, html_options = {})
  @instance_tag = instance_tag
  @region_code = region_code
  @options = options.dup.merge(objectify_code.as_options)
  @html_options = html_options.dup
end

Public Instance Methods

build_hidden() click to toggle source
# File lib/district_cn_selector/selector.rb, line 34
def build_hidden 
  instance_tag.to_input_field_tag("hidden", :class => "select-value", :value => objectify_code.value)
end
build_one(type) click to toggle source
# File lib/district_cn_selector/selector.rb, line 46
def build_one(type)
  #overwrite
end
build_select(type) click to toggle source
# File lib/district_cn_selector/selector.rb, line 42
def build_select(type)
  #overwrite
end
control_group(type) click to toggle source
# File lib/district_cn_selector/selector.rb, line 28
def control_group(type)
  controls = instance_tag.content_tag(:div, build_select(type), :class => "controls")
  label = instance_tag.to_label_tag(nil, :class => "control-label")
  content_tag(:div, [label, controls].join.html_safe, :class => "control-group district_cn_selector")
end
objectify_code() click to toggle source
# File lib/district_cn_selector/selector.rb, line 19
def objectify_code
  @objectify_code ||=
  region_code.is_a?(DistrictCn::Code) && region_code || DistrictCn::Code.new(region_code)
end
secure_random() click to toggle source
# File lib/district_cn_selector/selector.rb, line 24
def secure_random
  @secure_random ||= "selector_#{SecureRandom.hex}"
end
select_city() click to toggle source
# File lib/district_cn_selector/selector.rb, line 56
def select_city
  [:province, :city].map do |type|
    build_one(type)
  end.join
end
select_district() click to toggle source
# File lib/district_cn_selector/selector.rb, line 50
def select_district
  [:province, :city, :district].map do |type|
    build_one(type)
  end.join
end
select_province() click to toggle source
# File lib/district_cn_selector/selector.rb, line 62
def select_province
  build_one(:province)
end
selected(cur, required, class_name="active") click to toggle source
# File lib/district_cn_selector/selector.rb, line 66
def selected(cur, required, class_name="active")
  required = [required].flatten
  required.index(cur) && class_name
end
to_select(type) click to toggle source
# File lib/district_cn_selector/selector.rb, line 38
def to_select(type)
  options[:simple_form] ?  build_select(type) : control_group(type)
end