Wiki source code of ERPrototaculous
Version 201.1 by Ravi Mendis on 2009/07/16 08:59
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
100.1 | 1 | == Introduction == |
2 | |||
3 | ERPrototaculous was developed to provide the ajax functionality in ERDivaLook. | ||
4 | |||
5 | === What is ERPrototaculous? === | ||
6 | |||
7 | Features include: | ||
8 | |||
![]() |
114.1 | 9 | * 'Organic' support for Prototype and Scriptaculous in WebObjects. |
![]() |
201.1 | 10 | * No custom Prototype extensions |
11 | * A set of widgets in the Prototype + Scriptaculous family. | ||
![]() |
100.1 | 12 | * Use of [[Unobtrusive Javascript>>http://en.wikipedia.org/wiki/Unobtrusive_JavaScript]]. |
13 | |||
14 | ==== Unobtrusive Javascript in ERPrototaculous ==== | ||
15 | |||
16 | Unobtrusive javascript is used in contrast to on-demand style of ajax programming. | ||
![]() |
201.1 | 17 | By including Javascript as well as CSS globally in the page wrapper, CSS and/or Javascript doesn't have to load inside ajax requests. |
![]() |
100.1 | 18 | |
![]() |
201.1 | 19 | The result is **faster** and more **reliable** ajax in WebObjects applications. |
![]() |
100.1 | 20 | |
21 | ==== Prototype + Scriptaculous Widgets ==== | ||
22 | |||
23 | * Accordion | ||
24 | * LightWindow | ||
25 | * ModalBox | ||
26 | * CalendarDateSelect | ||
![]() |
114.1 | 27 | * FileUpload |
![]() |
100.1 | 28 | |
![]() |
201.1 | 29 | == Forms in ERPrototaculous == |
![]() |
100.1 | 30 | |
31 | Differences from using forms in WebObjects. i.e ##WOForm##: | ||
32 | |||
![]() |
201.1 | 33 | * All form controls must be named. This includes text fields, selects and buttons. |
![]() |
100.1 | 34 | (WebObjects dynamically assigned names are not compatible with ERPrototaculous). |
![]() |
201.1 | 35 | * All forms in an ERPrototaculous app are instances of ##AjaxUpdaterForm##. |
36 | * Form submits can be the form of: | ||
37 | ** Static ##<button>## | ||
38 | ** WOSubmitButton (if the result is to update whole page/app. | ||
![]() |
141.1 | 39 | ** AjaxUpdaterButton (to update a **container**). Or |
![]() |
201.1 | 40 | ** AjaxRequestButton (for a background ajax request) |