Changes for page XWiki JavaScript API

Last modified by Simon Urli on 2022/09/14

<
From version < 1.4 >
edited by Jerome
on 2009/04/22
To version < 1.5 >
edited by Sergiu Dumitriu
on 2009/05/07
>
Change comment: Added information about xwiki:dom:loading and the extra parameters sent to action events

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.jvelociter
1 +XWiki.Sergiu
Content
... ... @@ -6,7 +6,7 @@
6 6  
7 7  Stay in touch with what happens in the wiki! XWiki will fire custom javascript events on certain moment and upon certain actions that occur in the navigation flow.
8 8  
9 -Events name are build on the following model: <tt>xwiki:modulename:eventname</tt>. Your JavaScript script or extension can get notified of such an event the following way:
9 +Event names are build on the following model: <tt>xwiki:modulename:eventname</tt>. Your JavaScript script or extension can get notified of such an event the following way:
10 10  
11 11  {code}
12 12  document.observe("xwiki:modulename:eventname", function(event){
... ... @@ -22,9 +22,10 @@
22 22  
23 23  1.1.1 DOM Events
24 24  
25 +* *<tt>xwiki:dom:loading</tt>*
25 25  * *<tt>xwiki:dom:loaded</tt>*
26 26  
27 -This event is similar to [prototype's dom:loaded event>http://www.prototypejs.org/api/document/observe], with the difference that in the time-lapse between those two events, XWiki may have transformed the DOM. Example of DOM transformations operated by XWiki is setting the right target of links that have rel="external" attribute so that the document can be XHTML valid and still have the desired effect. In the future there might be more transformations operated by XWiki upon DOM initialization. This event is meant for code to be notified of loading of the XWiki-transformed version of the initial DOM. As <tt>dom:loaded</tt>, it can be used as follow:
28 +These events are similar to [prototype's dom:loaded event>http://www.prototypejs.org/api/document/observe], with the difference that in the time-lapse between <tt>dom:loaded</tt> and <tt>xwiki:dom:loaded</tt>, XWiki may have transformed the DOM. Example of DOM transformations operated by XWiki is setting the right target of links that have rel="external" attribute so that the document can be XHTML valid and still have the desired effect. In the future there might be more transformations operated by XWiki upon DOM initialization. This event is meant for code to be notified of loading of the XWiki-transformed version of the initial DOM. As <tt>dom:loaded</tt>, it can be used as follow:
28 28  
29 29  {code}
30 30  document.observe("xwiki:dom:loaded", function(){
... ... @@ -32,6 +32,10 @@
32 32  });
33 33  {code}
34 34  
36 +*It is recommended to bind startup scripts to this event* instead of <tt>window.load</tt> or <tt>document.dom:loaded</tt>.
37 +
38 +<tt>xwiki:dom:loading</tt> is sent between <tt>dom:loaded</tt> and <tt>xwiki:dom:loaded</tt>, before XWiki changes the DOM. This is the event that should start all scripts making important DOM changes that other scripts should see.
39 +
35 35  1.1.1 Action events
36 36  
37 37  * *<tt>xwiki:actions:cancel</tt>*
... ... @@ -55,6 +55,8 @@
55 55  });
56 56  {code}
57 57  
63 +All these events contain as extra information, in the second parameter sent to event listeners, the original click event (if any, and which can be stopped to prevent the action from completing), and the form being submitted.
64 +
58 58  1.1.1 Document extra events
59 59  
60 60  * *<tt>xwiki:docextra:loaded</tt>*

Get Connected