jf-roku/components/SearchBox.xml
2019-03-19 22:49:41 -05:00

70 lines
1.7 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<component name="SearchBox" extends="LayoutGroup">
<children>
<Label text="Search" />
<TextEditBox id="search-input" width="800" maxTextLength="75" />
</children>
<interface>
<field id="escape" type="boolean" alwaysNotify="true" />
<field id="search_value" type="string" alwaysNotify="true" />
</interface>
<script type="text/brightscript">
<![CDATA[
sub init()
m.top.layoutDirection = "vert"
dimensions = m.top.getScene().currentDesignResolution
m.top.translation = [dimensions.width / 2, 880]
m.top.horizAlignment = "center"
m.top.vertAlignment = "top"
end sub
function onKeyEvent(key as string, press as boolean) as boolean
if not press then return false
if key = "OK"
' Make a Keyboard Dialog here
show_dialog()
return true
else if key = "up"
m.top.findNode("search-input").active = false
m.top.escape = true
return true
end if
return false
end function
function onDialogButton()
d = m.top.getScene().dialog
button_text = d.buttons[d.buttonSelected]
if button_text = "Search"
m.top.search_value = d.text
dismiss_dialog()
return true
else if button_text = "Cancel"
dismiss_dialog()
return true
end if
return false
end function
sub show_dialog()
dialog = CreateObject("roSGNode", "KeyboardDialog")
dialog.title = "Search"
dialog.buttons = ["Search", "Cancel"]
m.top.getScene().dialog = dialog
dialog.observeField("buttonselected", "onDialogButton")
end sub
sub dismiss_dialog()
m.top.getScene().dialog.close = true
end sub
]]>
</script>
</component>