Class: AastraXmlApi::PhoneInputScreen

Inherits:
Phone
  • Object
show all
Defined in:
lib/aastra_xml_api/phone_input_screen.rb

Constant Summary

Constants inherited from Phone

AastraXmlApi::Phone::HIGHASCII

Instance Method Summary collapse

Methods inherited from Phone

#addIcon, #addSoftkey, #convert_high_ascii, #escape, #getRefreshTimeout, #getRefreshURL, #initialize, #setAllowAnswer, #setBeep, #setCancelAction, #setDestroyOnExit, #setLockIn, #setRefresh, #setTimeout, #setTitle, #setTitleWrap

Constructor Details

This class inherits a constructor from AastraXmlApi::Phone

Instance Method Details

#addField(type = nil) ⇒ Object

Add a new field to get input for. The type can be one of IP, string (default), number, timeUS, timeInt, dateUS, or dateInt.



160
161
162
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 160

def addField(type=nil)
  @entries += [PhoneInputScreenEntry.new(type)]
end

#addFieldSoftkey(index, label, uri, icon = nil) ⇒ Object

Adds a softkey to be displayed when the most recently added field is highlighted.



207
208
209
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 207

def addFieldSoftkey(index, label, uri, icon=nil)
  @entries[@entries.size-1].addSoftkey(index, label, uri, icon)
end

#renderObject

Create XML text output.



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 212

def render
  @type = 'string' if @type.nil?
  xml = "<PhoneInputScreen type=\"#{@type}\""
  xml += " password=\"yes\"" if @password == "yes"
  xml += " destroyOnExit=\"yes\"" if @destroyOnExit == "yes"
  xml += " cancelAction=\"#{escape(@cancelAction)}\"" if not @cancelAction.nil?
  xml += " editable=\"no\"" if @editable == "no"
  xml += " Beep=\"yes\"" if @beep == "yes"
  xml += " defaultIndex=\"#{@defaultindex}\"" if not @defaultindex.nil?
  xml += " inputLanguage=\"#{@inputlanguage}\"" if not @inputlanguage.nil?
  xml += " displayMode=\"#{@displaymode}\"" if not @displaymode.nil?
  xml += " LockIn=\"yes\"" if @lockin == "yes"
  xml += " allowAnswer=\"yes\"" if @allowAnswer == "yes"
  xml += " Timeout=\"#{@timeout}\"" if @timeout != 0
  xml += ">\n"
  if not @title.nil? then
    xml += "<Title"
    out += " wrap=\"yes\"" if @title_wrap == "yes"
    xml += ">#{escape(@title)}</Title>\n"
  end
  xml += "<Prompt>#{escape(@prompt)}</Prompt>\n" if not @prompt.nil?
  xml += "<URL>#{escape(@url)}</URL>\n"
  xml += "<Parameter>#{@parameter}</Parameter>\n" if not @parameter.nil?
  xml += "<Default>#{@default}</Default>\n"
  @entries.each { |entry| xml += entry.render }
  @softkeys.each { |softkey| xml += softkey.render }
  iconList = 0
  @icons.each do |icon|
    if iconList == 0 then
      xml += "<IconList>\n"
      iconList = 1
    end
    xml += icon.render
  end
  xml += "</IconList>\n" if iconList != 0
  xml += "</PhoneInputScreen>\n"
  return xml
end

#setDefault(default) ⇒ Object

Set default value for all fields if not overriden by setFieldDefault.



123
124
125
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 123

def setDefault(default)
  @default = default
end

#setDefaultIndex(index) ⇒ Object

Defines which field 1 (default) through 6 the user will start input on.



144
145
146
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 144

def setDefaultIndex(index)
  @defaultindex = index
end

#setDisplayMode(display) ⇒ Object

Can be one of normal (default) or condensed.



149
150
151
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 149

def setDisplayMode(display)
  @displaymode = display
end

#setEditableObject

Sets all fields are editable. Kept only for compatibility.



113
114
115
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 113

def setEditable
  @editable = "yes"
end

#setFieldDefault(default) ⇒ Object

Set the most recently added field’s default value.This is what is displayed when first shown.



194
195
196
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 194

def setFieldDefault(default)
  @entries[@entries.size-1].setDefault(default)
end

#setFieldEditableObject

Set the most recently added field as editable. This is the default.



177
178
179
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 177

def setFieldEditable
  @entries[@entries.size-1].setEditable
end

#setFieldParameter(parameter) ⇒ Object

Set the most recently added field’s parameter name in the form post when submitted.



183
184
185
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 183

def setFieldParameter(parameter)
  @entries[@entries.size-1].setParameter(parameter)
end

#setFieldPasswordObject

Set the most recently added field as a password field and mask input by “*” characters.



172
173
174
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 172

def setFieldPassword
  @entries[@entries.size-1].setPassword
end

#setFieldPrompt(prompt) ⇒ Object

Set the most recently added field’s prompt text.



188
189
190
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 188

def setFieldPrompt(prompt)
  @entries[@entries.size-1].setPrompt(prompt)
end

#setFieldSelection(selection) ⇒ Object

Sets the most recently added field’s selection tag which is added to the request when the submit button is pressed while editing this field.



201
202
203
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 201

def setFieldSelection(selection)
  @entries[@entries.size-1].setSelection(selection)
end

#setFieldType(type) ⇒ Object

Sets the type (see addField for values) of the most recently added field.



166
167
168
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 166

def setFieldType(type)
  @entries[@entries.size-1].setType(type)
end

#setInputLanguage(input) ⇒ Object

Defines the language character set used for input.



154
155
156
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 154

def setInputLanguage(input)
  @inputlanguage = input
end

#setNotEditableObject

Sets all fields as read only if not overriden by setFieldEditable.



118
119
120
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 118

def setNotEditable
  @editable = "no"
end

#setParameter(parameter) ⇒ Object

Set parameter name for all fields if not overriden by setFieldParameter.



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

def setParameter(parameter)
  @parameter = parameter
end

#setPasswordObject

Set password input for all fields, masked by “*” characters if not overriden by setFieldPassword.



134
135
136
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 134

def setPassword
  @password = "yes"
end

#setPrompt(prompt) ⇒ Object

Prompt for all input fields, if not overriden by setFieldPrompt.



139
140
141
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 139

def setPrompt(prompt)
  @prompt = prompt
end

#setType(type) ⇒ Object

Sets the type of all fields (see addField for values) unless overriden by setFieldType.



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

def setType(type)
  @type = type
end

#setURL(url) ⇒ Object

Set URL to be called (html post) when the input is submitted.



102
103
104
# File 'lib/aastra_xml_api/phone_input_screen.rb', line 102

def setURL(url)
  @url = url
end