OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script> | 3 <script> |
4 | 4 |
5 var apiHandle; | 5 var apiHandle; |
6 var onnativesuggestioncalls = 0; | 6 var onnativesuggestioncalls = 0; |
7 var onsubmitcalls = 0; | 7 var onsubmitcalls = 0; |
8 var savedUserText = null; | 8 var savedUserText = null; |
9 var suggestionIndex = -1; | 9 var suggestionIndex = -1; |
10 var suggestions = ["result 1", "result 2", "result 3"]; | 10 var suggestions = ["result 1", "result 2", "result 3"]; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 if (suggestionIndex < suggestions.length - 1) { | 42 if (suggestionIndex < suggestions.length - 1) { |
43 suggestionIndex++; | 43 suggestionIndex++; |
44 apiHandle.setValue(suggestions[suggestionIndex]); | 44 apiHandle.setValue(suggestions[suggestionIndex]); |
45 } | 45 } |
46 } | 46 } |
47 | 47 |
48 function previousSuggestion() { | 48 function previousSuggestion() { |
49 if (suggestionIndex != -1) { | 49 if (suggestionIndex != -1) { |
50 suggestionIndex--; | 50 suggestionIndex--; |
51 if (suggestionIndex == -1) { | 51 if (suggestionIndex == -1) { |
52 apiHandle.setValue(savedUserText); | 52 resetSuggestion(); |
53 } else { | 53 } else { |
54 apiHandle.setValue(suggestions[suggestionIndex]); | 54 apiHandle.setValue(suggestions[suggestionIndex]); |
55 } | 55 } |
56 } | 56 } |
57 } | 57 } |
58 | 58 |
| 59 function resetSuggestion() { |
| 60 apiHandle.setValue(savedUserText); |
| 61 suggestionIndex = -1; |
| 62 } |
| 63 |
59 function handleKeyPress(event) { | 64 function handleKeyPress(event) { |
60 var VKEY_UP = 0x26; | 65 var VKEY_UP = 0x26; |
61 var VKEY_DOWN = 0x28; | 66 var VKEY_DOWN = 0x28; |
| 67 var VKEY_ESCAPE = 0x1B; |
62 | 68 |
63 if (event.keyCode == VKEY_DOWN) { | 69 if (event.keyCode == VKEY_DOWN) { |
64 nextSuggestion(); | 70 nextSuggestion(); |
65 } else if (event.keyCode == VKEY_UP) { | 71 } else if (event.keyCode == VKEY_UP) { |
66 previousSuggestion(); | 72 previousSuggestion(); |
| 73 } else if (event.keyCode == VKEY_ESCAPE) { |
| 74 resetSuggestion(); |
67 } | 75 } |
68 } | 76 } |
69 | 77 |
70 function setUp() { | 78 function setUp() { |
71 apiHandle = getApiHandle(); | 79 apiHandle = getApiHandle(); |
72 apiHandle.onnativesuggestions = handleNativeSuggestions; | 80 apiHandle.onnativesuggestions = handleNativeSuggestions; |
73 apiHandle.onsubmit = handleSubmit; | 81 apiHandle.onsubmit = handleSubmit; |
74 apiHandle.onchange = handleOnChange; | 82 apiHandle.onchange = handleOnChange; |
75 apiHandle.onkeypress = handleKeyPress; | 83 apiHandle.onkeypress = handleKeyPress; |
76 if (apiHandle.value) { | 84 if (apiHandle.value) { |
77 handleNativeSuggestions(); | 85 handleNativeSuggestions(); |
78 handleOnChange(); | 86 handleOnChange(); |
79 } | 87 } |
80 } | 88 } |
81 | 89 |
82 setUp(); | 90 setUp(); |
83 | 91 |
84 </script> | 92 </script> |
85 </head> | 93 </head> |
86 <body> | 94 <body> |
87 <h1>Instant</h1> | 95 <h1>Instant</h1> |
88 </body> | 96 </body> |
89 </html> | 97 </html> |
OLD | NEW |