Wiki source code of ERPrototaculous

Version 258.1 by Ravi Mendis on 2009/07/16 09:08

Show last authors
1 == Introduction ==
2
3 ERPrototaculous was developed to provide the ajax functionality in ERDivaLook.
4
5 === What is ERPrototaculous? ===
6
7 Features include:
8
9 * 'Organic' support for Prototype and Scriptaculous in WebObjects.
10 * No custom Prototype extensions
11 * A set of widgets in the Prototype + Scriptaculous family.
12 * Use of [[Unobtrusive Javascript>>http://en.wikipedia.org/wiki/Unobtrusive_JavaScript]].
13 * Virtually stateless ajax responses
14
15 ==== Unobtrusive Javascript in ERPrototaculous ====
16
17 Unobtrusive javascript is used in contrast to on-demand style of ajax programming.
18 By including Javascript as well as CSS globally in the page wrapper, CSS and/or Javascript doesn't have to load inside ajax requests.
19
20 The result is **faster** and more **reliable** ajax in WebObjects applications.
21
22 ==== Prototype Elements ====
23
24 ===== Ajax.Updater =====
25
26 Support for Prototype's [[Ajax.Updater>>http://www.prototypejs.org/api/ajax/updater]] is in the form of three components:
27
28 1. AjaxUpdaterLink
29 1. AjaxUpdaterButton
30 1. AjaxUpdaterForm (with ##onsubmit## for ajax form submission)
31
32 ==== Prototype + Scriptaculous Widgets ====
33
34 * Accordion
35 * LightWindow
36 * ModalBox
37 * CalendarDateSelect
38 * FileUpload
39
40 == Forms in ERPrototaculous ==
41
42 Differences from using forms in WebObjects. i.e ##WOForm##:
43
44 * All form controls must be named. This includes text fields, selects and buttons.
45 (WebObjects dynamically assigned names are not compatible with ERPrototaculous).
46 * All forms in an ERPrototaculous app are instances of ##AjaxUpdaterForm##.
47 * Form submits can be the form of a:
48 ** Static ##<button>##
49 ** WOSubmitButton (if the result is to update whole page/app.
50 ** AjaxUpdaterButton (to update a **container**). Or
51 ** AjaxRequestButton (for a background ajax request)