source: trunk/grails-app/services/JsUtilService.groovy

Last change on this file was 913, checked in by gav, 14 years ago

Svn merge -r875:r911 branches/features/grailsUpgrade/ into trunk/.

File size: 3.6 KB
Line 
1/**
2* Provides some javascript utility methods.
3* For use with JsUtilTagLib.
4*/
5class JsUtilService {
6
7    boolean transactional = false
8
9    def g = new org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib()
10
11    /**
12    * Toggle the visibility of an html element.
13    * @param id The html id of the element.
14    * @param type The type of html action the javascript will be applied to e.g 'onclick', defaults to 'href'.
15    * @returns A javascript string that can be assigned for example to an anchor href or onclick action.
16    */
17    def toggle(id, type="href") {
18        def s = 'toggleUtil(\"' + id + '\");'
19        if(type == "onclick")
20            s + ' return false;'
21        else
22            'javascript: ' + s
23    }
24
25    /**
26    * Toggle the visibility of an html element and update an image.
27    * @param toggleId The html id of the element to toggle.
28    * @param imageid The html id of the image to update.
29    * @param openImgUrl The url to apply as the image src when toggled element is visible.
30    * @param closedImgUrl The url to apply as the image src when toggled element is hidden.
31    * @param type The type of html action the javascript will be applied to e.g 'onclick', defaults to 'href'.
32    * @returns A javascript string that can be assigned for example to an anchor href or onclick action.
33    */
34    def toggleWithImg(toggleId, imageid, openImgUrl, closedImgUrl, type="href") {
35
36        def s = 'toggleWithImgUtil(\"' + toggleId +'\", \"' + imageid +'\", \"' + openImgUrl +'\", \"' + closedImgUrl +'\");'
37        if(type == "onclick")
38            s + ' return false;'
39        else
40            'javascript: ' + s
41
42    }
43
44    /**
45    * Show an html element by slowly increasing the visibility.
46    * @param id The html id of the element.
47    * @param type The type of html action the javascript will be applied to e.g 'onclick', defaults to 'href'.
48    * @returns A javascript string that can be assigned for example to an anchor href or onclick action.
49    */
50    def show(id) {
51        def s = 'showUtil(\"' + id + '\");'
52        if(type == "onclick")
53            s + ' return false;'
54        else
55            'javascript: ' + s
56    }
57
58    /**
59    * Hide an html element by slowly decreasing the visibility.
60    * @param id The html id of the element.
61    * @param type The type of html action the javascript will be applied to e.g 'onclick', defaults to 'href'.
62    * @returns A javascript string that can be assigned for example to an anchor href or onclick action.
63    */
64    def hide(id) {
65        def s = 'hideUtil(\"' + id + '\");'
66        if(type == "onclick")
67            s + ' return false;'
68        else
69            'javascript: ' + s
70    }
71
72    /**
73    * Toggle the visibility of an html element and update an image.
74    * @param toggleId The html id of the element to toggle.
75    * @param imageid The html id of the image to update.
76    * @param openImgUrl The url to apply as the image src when toggled element is visible.
77    * @param closedImgUrl The url to apply as the image src when toggled element is hidden.
78    * @param type The type of html action the javascript will be applied to e.g 'onclick', defaults to 'href'.
79    * @returns A javascript string that can be assigned for example to an anchor href or onclick action.
80    */
81    def toggleWithImgAndEffect(toggleId, imageid, openImgUrl, closedImgUrl, type="href") {
82
83        def s = 'toggleWithImgAndEffectUtil(\"' + toggleId +'\", \"' + imageid +'\", \"' + openImgUrl +'\", \"' + closedImgUrl +'\");'
84        if(type == "onclick")
85            s + ' return false;'
86        else
87            'javascript: ' + s
88
89    }
90
91} // end class
Note: See TracBrowser for help on using the repository browser.