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

Last change on this file since 687 was 323, checked in by gav, 15 years ago

Add toggleWithImgAndEffect to JsUtil.
Replace control divs with our new JsUtil toggleControl taglib.
Small CSS adjustment to asset tree pane close.

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.