Commit Graph

31 Commits

Author SHA1 Message Date
hallgren
4f7255dae2 minibar: restructured code and improved user interface
* Keyboard input and completion should now work much more smoothly:
  + When you press space, the current word will be completed (if incomplete)
    and a new magnet will be created. If there is more than one possible
    completion, no magnet is created, but the common prefix of the possible
    completions is added to the text box.
  + Instead of asking the server for possible completions every time a new
    letter is added to the curent word, minibar only ask for completions for
    whole words and then filters the list locally when more letters are entered,
    speeding things up when server responses are slow.

* Code restructuring:
  + The PGF server API has been moved to its own file: pgf_online.js. This
    allows it to be reused in other applicaitons without importing the entire
    minibar. It also allows minibar to be used with different server interfaces.
  + The minibar code has been rewritten to avoid storing state information
    in the document tree and accessing it by referring to named document
    elements. The code now also avoids using string literals contaning
    the names of top-level functions to specify event handlers for buttons
    and menus. (The code is no longer introspective, so alpha conversion will
    not change its meaning.)
2010-10-26 12:42:33 +00:00
hallgren
dd7cd640ea minibar.js: show the type error messages that can occur for grammars with dependent types 2010-10-18 12:15:30 +00:00
hallgren
5400728ef7 minibar.js: add an option to enable/disable the Random button 2010-10-17 16:48:21 +00:00
hallgren
518a27a009 minibar: work on adding back support for typing multiple words without pressing enter in between
It mostly works now, but some minor issues still need to be fixed.
2010-09-29 13:03:40 +00:00
hallgren
c533314843 minibar.js: server API code cleanup 2010-09-14 17:15:37 +00:00
hallgren
ee36bac494 minibar.js: bug fix: the current word should be accepted when you press enter if it matches one of the possible completions exactly
The current word is also accepted if there is only one remaining possible
completion.
2010-09-14 16:48:20 +00:00
hallgren
ed9999784f minibar.js: add access keys to some of the buttons 2010-09-14 16:45:48 +00:00
hallgren
846b747cee minibar: default input language is now the user's preferred language, if possible
This is implemented using the userLanguage field in the grammar info output by
pgf-server.
2010-09-10 11:03:46 +00:00
hallgren
f5f8369d97 minibar: use AJAX instead of JSONP when possible
Using AJAX instead of JSONP can give better caching in the browser, since the
URL doesn't need to contain a (dynamically generated) callback function name.
But because of the same origin policy in JavaScript, AJAX can only be used when
the HTML file is served from the same server as the PGF. The new function
http_get_json in support.js uses AJAX if this is the case, and falls back to
JSONP otherwise.
2010-09-10 08:38:11 +00:00
hallgren
c662d116f6 Minibar: PGF server API: pass callback functions directly instead of passing function names as strings. 2010-09-05 18:06:45 +00:00
hallgren
3a120aaf17 Adapt minibar.js to the current GF web service API
Quick fix. More work needed for correct behaviour when multiple words are
entered at once.
2010-08-27 16:46:14 +00:00
hallgren
c9cca8a77e Add missing <td> tags in the HTML constructed by functio show_groupedtranslations 2010-07-13 11:54:42 +00:00
hallgren
032cd65f8f Bug fix in minibar.js: no translations where shown when using option show_grouped_translations: false
This affected minibar.html but not phrasebook.html and was
caused by accidental shadowing of function tr in function show_translations.
2010-07-13 11:35:28 +00:00
hallgren
866ef5ead0 Make minibar.js work again after backwards incompatible changes to the data structures output by pgf-server.
The canParse field was removed without notice.
2010-07-13 10:22:03 +00:00
krasimir
0dbe60b7bf FridgeApp and TranslateApp now show the type errors 2010-07-08 07:57:36 +00:00
hallgren
a74e3f963a Access keys for input fields in minibar and feedback form 2010-07-06 13:36:42 +00:00
hallgren
47285fe880 New minibar option: default_source_language 2010-06-02 13:59:38 +00:00
hallgren
b981996783 Some minibar/phrasebook button and style changes
* Add help button at top of page.
* Change style of word buttons to look like fridge magnets again.
* New options to specify locations of other pages: feedback_url, help_url. If
  they are left undefined, no Help/Feedback buttons will be created.
* Shorter test in Google Translate button.
2010-06-02 13:40:41 +00:00
hallgren
d71d700615 Improved Goolge Translate button 2010-06-02 10:39:25 +00:00
hallgren
ceb30f7e0d Work on the feedback button for the minibar 2010-06-01 20:20:17 +00:00
hallgren
cad022019a Always show link to Google Translate, and open it in a new window. 2010-05-29 15:42:27 +00:00
hallgren
9744d6b6aa Add link to Google Translate 2010-05-28 16:17:54 +00:00
hallgren
928c80e8a0 Improved keyboard input handling in minibar/phrasebook
1. The text input field is shown form the start, no need to click.
2. The text input field is removed when no more words can be added to the
   sentence.
3. When you press Enter, a word is added to the sentence (1) if there is only
   one possible completion left (e.g. if you typed "airp" and the only
   completion is "airport"), or (2) if what you typed exactly matches one
   of the completions (e.g. if you typed "the" and the completions are
   "the", "theatre" and "these").
2010-05-26 15:49:08 +00:00
hallgren
1ff6d92b17 Use <input type=button ...> instead of <div ...> tags for the word magnets. This should make them clickable in more browsers and could improve layout. 2010-05-26 11:47:15 +00:00
hallgren
76ee1a9f67 hide the language code if translating to only one target language 2010-05-21 10:43:19 +00:00
hallgren
87cc4d7624 Merge phrasebook.js into minibar.js 2010-04-30 14:55:56 +00:00
hallgren
14a053a81b Some work on minibar:
1. Menu for choosing target language.
2. Pass options when calling start_minibar.
See about.html for more details.
2010-04-19 16:48:26 +00:00
hallgren
be045d40fa Work in progress on keyboard input in minibar 2010-04-15 15:42:18 +00:00
hallgren
0b1a2bb20b Fix bug in get_grammarlist. Some code simplificaiton. 2010-04-15 13:33:21 +00:00
hallgren
1b4dd1df71 Abstract out grammar access method 2010-04-09 14:00:38 +00:00
hallgren
df6ab55915 Adding the Minibar files to the darcs repository. 2010-04-09 13:51:34 +00:00