Class: SWS::TextField

Inherits:
FormElement show all
Defined in:
lib/sws/Core/components/TextField/TextField.rb

Overview

Represents tag <INPUT type=text Bindings:

  • value (required,settable) - contents of the textfield

  • format - method of “value” object to be used before updating it (eg. for a

Float you can use to_i() method here to get Fixnum object)

  • other_tag_string - generic string to add to the tag

Instance Attribute Summary

Attributes inherited from Component

#action_components, #definition_component, #encoding, #html_attrs, #method_to_call, #name, #parameters, #parent, #request, #request_number, #slots, #subcomponents, #tokens

Instance Method Summary collapse

Methods inherited from FormElement

#container?, #element_name

Methods inherited from Component

#api_filename, #app, #awake, #container?, #content?, create, #create_component_tree, #definition_filename, #initialize, #page, #perform_action, #process_bindings, #process_parameters, #process_request, #remove_subcomponents, #session, #set_request_subcomponents, #sleep, #slot_bound?, #subcomponent_for_name, synchronize_slot, #synchronize_slot?, #synchronize_slots, #template_filename, #tokenize_binding, #url_string

Constructor Details

This class inherits a constructor from SWS::Component

Instance Method Details

#append_to_response(response) ⇒ Object



22
23
24
# File 'lib/sws/Core/components/TextField/TextField.rb', line 22

def append_to_response ( response )
	response << generate_html()
end

#generate_htmlObject



12
13
14
15
16
17
18
19
# File 'lib/sws/Core/components/TextField/TextField.rb', line 12

def generate_html ()

	string = "<INPUT TYPE=\"text\" NAME=\"#{element_name()}.value\" VALUE=\"#{@slots["value"].value}\""
	string << bound_slot_string( "size" )
	string << "#{generic_attr_string()}>"
	return string
	
end

#update_binding(key, value) ⇒ Object

If the “format” slot value has been set, uses it to format “value” slot value



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/sws/Core/components/TextField/TextField.rb', line 29

def update_binding ( key,value )

	if ( key == "value" )
		if ( slot_bound?("format") )
			@slots["value"].value = value.method( @slots["format"].value ).call()
		else
			@slots["value"].value = value
		end
	else
		#TODO: not sure if necessary - there are no more settable slots beside "value"
		super
	end		

end