Commit Graph

103 Commits

Author SHA1 Message Date
hallgren b4c0509f77 minibar: more documentation (in minibar-api.html) 2011-08-09 15:57:40 +00:00
hallgren 61da350167 minibar: refactoring for improved modularity
Two smaller objects have been factored out from the Minibar object:
Input and Translations. These have been placed in two separate files:
minibar_input.js and minibar_translations.js. Some common auxiliary functions
have also been moved to a separate file: minibar_support.js
2011-08-08 17:28:24 +00:00
hallgren 77132183fe minibar: resolve conflict 2011-08-08 14:08:55 +00:00
hallgren b77e95abf5 minibar: improve pgf_online.js
pgf_online.js has been simplified and generalized to support the full
GF Web Service API. The changes are backwards incompatible, unfortunately.
The documentation and minibar.js have been updated accordingly.
2011-08-03 15:21:38 +00:00
hallgren 1a25f04303 minibar: small code and documentation tweaks 2011-08-03 14:24:47 +00:00
hallgren e232c6145d minibar: recording old configuration changes 2011-08-08 14:04:51 +00:00
aarne 9023382c31 GenIP, GenRP in Extra and any_Quant in ExtraEng 2011-07-21 08:25:04 +00:00
hallgren ca16782d06 minibar support.js: add function ajax_http_post for posting FormData 2011-06-21 16:10:44 +00:00
hallgren b2ffdd59eb minibar: fix typo 2011-04-11 13:03:46 +00:00
hallgren ff870aa8f9 minibar: small documentation updates and corrections 2011-04-11 13:00:52 +00:00
hallgren 22a70d2608 minibar: don't force focus to the typed input field after every word
On touch-based devices, the on-screen keyboard kept popping up after every word,
which was very annoying if you were entering a sentence by tapping on the
magnets.
2011-03-22 15:17:48 +00:00
hallgren b3e5386d36 minibar: add trailing slash in suggested grammar URLs 2011-03-22 15:12:54 +00:00
hallgren 697e96f539 minibar: add icon for word alignment button 2011-03-03 19:19:47 +00:00
hallgren a0cd2c232b minibar: add a button to display word alignment 2011-03-03 19:18:09 +00:00
hallgren da740b51c2 minibar/support.js: recognize relative URLs as locations on the same server
This means that the relative grammar directory location in the default
configuration will result in AJAX requests rather than the less efficient
JSONP requests.
2011-03-01 14:47:20 +00:00
hallgren a27f58d6ae minibar: make the feedback form work in the generic minibar
It is still disabled by default, since some manual configuraiton of
feedback.cgi is required.
2011-03-01 13:46:00 +00:00
hallgren bfc91294e1 minibar: a small change to make easy to select an alternate grammar directory 2011-01-27 22:23:15 +00:00
hallgren 2ebf3649cf minibar: update my home page link (cs->cse) 2011-01-11 13:18:19 +00:00
hallgren 0374f327d6 minibar.html: omit explicit grammars_url option
The grammars will then by default be fetched from the same server as
minibar.html. This means that everything will be served locally when accessing
minibar through a locally running pgf-http.
2010-12-17 16:43:11 +00:00
hallgren fb807d307c minibar/support.js: fix comment typos and add links 2010-12-17 16:42:08 +00:00
hallgren 847561d2f6 minibar/support.js: add an errorcallback parameter to ajax_http_get 2010-12-09 16:38:16 +00:00
hallgren b0cafee950 minibar.js: restore start_miniabr function for backward compatibility 2010-12-07 13:00:36 +00:00
hallgren 38e394dc8f minibar: rewrite minibar.js in a more idiomatic JS OOP style
This provides easier access to minibar internals for people who want to extend
it, but probably also reveals too much of the internal machinery...
2010-12-01 16:37:14 +00:00
hallgren a8134994ab Let minibar keep its own copy of tree-btn.png 2010-12-01 16:28:27 +00:00
hallgren 3a432f80fe support.js: add function bind (JS OOP trick) 2010-12-01 16:20:28 +00:00
hallgren ee4d264896 minibar/about.html: minor adjustments 2010-11-28 11:52:48 +00:00
hallgren ab3327dab8 minibar/about.html: document recent development 2010-11-23 12:26:32 +00:00
aarne e9679e57af fixed some bugs in translation quiz 2010-11-17 08:30:02 +00:00
hallgren 906b185d2f Some pgf-server API documentation 2010-11-09 21:02:07 +00:00
hallgren 98bd4f9ae5 pgf_online.js: if a grammar list is supplied, you don't have to call switch_grammar. 2010-11-09 16:29:04 +00:00
hallgren 92cf1bdb85 minibar.js: code simplification 2010-11-09 11:58:38 +00:00
hallgren 48effe4922 support.js: two new functions: commonPrefix & insertFirst 2010-11-05 15:41:06 +00:00
aarne e745881e4a trying to find some inefficiencies in Finnish resource 2010-10-25 19:56:47 +00:00
hallgren 592206e6a8 minibar.js: bug fix: when not using group translation, and a particular language is chosen in the To: menu, the translation would not be displayed 2010-10-28 12:39:56 +00:00
hallgren c4f8fa82b7 minibar.js: bug fix: the To: menu wasn't updated properly when switching grammars 2010-10-28 11:53:50 +00:00
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 41edd0a84f support.js: some enhancements and new functions
+ ajax_http_get(url,callback) now checks the HTTP response status and shows an
  error message if the status is not OK (is not 200)
+ New function node(tag,attrs,children) to create document nodes with arbitraty
  attributes and children. The functions node() and text() should now be enough
  to construct arbitrary document trees in an easy, functional way, and many of
  the more specialized functions could be removed.
+ When calling the function button(label,action,key), the action can be a
  function instead of a string, so you can use local/anonymous functions.
+ New function debug(str) adds text to the element with id=debug, if it
  exists.
2010-10-26 11:52:04 +00:00
hallgren 0d1c3dc62b minibar.html: add a <noscript> element with a note that the page doesn't work unless JavaScript is enabled 2010-10-23 14:56:10 +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 31d0e84617 minibar: update about.html with description of recent changes 2010-09-28 11:46:32 +00:00
hallgren 6f2a3849f3 minibar/about.html: fix typos and formatting 2010-09-24 12:57:16 +00:00
hallgren 3d2bf753d4 minibar.html: specify charset, move initialization
Added a meta tag to specify that the file is in UTF-8. This makes the browser
(at least Firefox) assume that the JavaScript files are also in UTF-8, it seems.

Moved the call to start_minibar() from the <body onload="..."> to the end of
the file. The onload action is not executed until all images in the document
has been loaded, while javascipt at the end of the file is executed as soon
as the HTML file has been loaded. (Calling start_minibar() from the head of
the document would be too soon, since it refers to elements in the body,
which hasn't been loaded yet.)
2010-09-24 12:47:18 +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 fa65026136 support.js: create buttons with access keys 2010-09-10 12:20:07 +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