class HtmlTest < Borges::Component def tests x = self.class.instance_methods(false).sort.select do |m| m =~ /^render/ end x.delete('render_content_on') return x end def initialize @message = 'Hello world!!' @boolean_list = {} [:a, :b, :c, :d].map do |k| @boolean_list[k] = rand > 0.5 end @number = rand(10) end def render_content_on(r) t = tests 0.upto((t.length / 2) - 1) do |i| r.div_with_class('row') do r.div_with_class('left') do send(t[i * 2], r) end r.div_with_class('left') do send(t[i * 2 + 1], r) end end end end def render_checkboxes_on(r) r.text(@boolean_list.sort_by { |a| a[0].to_s }.join(' ')) r.form do @boolean_list.sort_by { |a| a[0].to_s }.each do |key, value| r.text(key) r.space r.checkbox(value) do |b| @boolean_list[key] = b end r.break end r.submit_button do end end end def render_radio_buttons_on(r) r.text(@boolean_list.sort_by { |a| a[0].to_s }.join(' ')) r.form do @boolean_list.sort_by { |a| a[0].to_s }.each do |key, value| group = r.radio_group r.text(key) r.space r.radio_button(group, value) do @boolean_list[key] = true end r.radio_button(group, (not value)) do @boolean_list[key] = false end r.break end r.submit_button do end end end def render_selects_on(r) r.text(@number) r.form do r.select((1..10).to_a, @number) do |i| @number = i end r.submit_button do end end end def render_submit_buttons_on(r) r.text(@number) r.form do 1.upto(10) do |i| r.submit_button(i) do @number = i end r.space end end end def render_text_area_on(r) r.form do r.text(@message) r.text_area(@message) do |v| @message = v end r.break r.submit_button do end end end def render_text_input_on(r) r.form do r.text(@message) r.text_input(@message) do |v| @message = v end r.submit_button do end end end =begin def render_z(r) r.space end =end def style return " .row {clear: both} .left {float: left; width: 45%; margin: 1%} " end end