source: extensions/event_cats/admin/template/ec_smart_fieldset.inc.tpl @ 8004

Last change on this file since 8004 was 8004, checked in by LucMorizur, 13 years ago

Implement 'Smart Fieldsets'

  • Property svn:eol-style set to LF
File size: 2.6 KB
Line 
1
2{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
3
4{literal}
5  <script type="text/javascript">
6    function smartToggle(grand, petit) {
7      petit.toggle();
8      grand.toggle();
9    }
10    function ec_init_smart_fieldset(
11      fieldset_id,
12      cache_id,
13      plus_bullet_path,
14      minus_bullet_path,
15      initial_cache_value,
16      locked
17    ) {
18      jQuery(document).ready(function(){
19        var f_m   = jQuery('#' + fieldset_id);
20        var l_m   = jQuery('#' + fieldset_id + ' legend');
21        var l_txt = l_m.text();
22        var f_r   = f_m;
23        var l_r   = f_m;
24        var c     = f_m;
25        l_m.prepend(
26          '<img alt = "" title = ""' +
27          'src = "' + minus_bullet_path + '"' + '>&nbsp;'
28        );
29        l_m.addClass('legends');
30        f_m.before(document.createElement('div'));
31        f_r = f_m.prev();
32        f_r.css({
33          'display'        : 'none',
34          'padding-left'   : f_m.css('padding-left'),
35          'padding-right'  : f_m.css('padding-right'),
36          'margin-left'    : f_m.css('margin-left'),
37          'margin-top'     : f_m.css('margin-top'),
38          'margin-right'   : f_m.css('margin-right'),
39          'margin-bottom'  : f_m.css('margin-bottom'),
40          'line-height'    : f_m.css('line-height'),
41          'vertical-align' : f_m.css('vertical-align'),
42        });
43        f_r.append(document.createElement('span'));
44        l_r = f_r.children('span');
45        l_r.addClass('legends');
46        l_r.css({
47          'font-weight'    : l_m.css('font-weight'),
48          'letter-spacing' : l_m.css('letter-spacing'),
49          'padding-left'   : f_m.css('border-left-width'),
50          'text-align'     : l_m.css('text-align'),
51          'outline'        : l_m.css('outline'),
52          'color'          : l_m.css('color'),
53          'font-family'    : l_m.css('font-family'),
54          'font-size'      : l_m.css('font-size'),
55        });
56        l_r.append(
57          '<img alt = "" title = "" src = "' + plus_bullet_path + '" ' +
58          'style = "padding-left:' + l_m.css('padding-left') + ';"' +
59          '>&nbsp;' + l_txt + '&nbsp;: '
60        );
61        l_r.after(document.createElement('span'));
62        c = l_r.next();
63        c.attr('id', cache_id);
64        c.html(initial_cache_value);
65        if (locked)
66         smartToggle(f_m, f_r);
67        else {
68          jQuery('.legends').css('cursor', 'pointer');
69          l_m.click(function(){
70            smartToggle(f_m, f_r);
71          });
72          l_r.click(function(){
73            smartToggle(f_m, f_r);
74          });
75        }
76      });
77    }
78  </script>
79{/literal}
Note: See TracBrowser for help on using the repository browser.