source: extensions/event_cats/admin/template/smart_fieldsets.inc.tpl @ 8061

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

Correction on Smart Fieldsets TPL file name

  • Property svn:eol-style set to LF
File size: 6.3 KB
Line 
1
2{* <!-- Smart Fieldsets by LucMorizur December 2010 --> *}
3{* <!-- Part of Piwigo project, http://piwigo.org   --> *}
4{* <!-- Creates "disappearing" <fieldset>'s         --> *}
5
6{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
7
8{literal}
9  <script type="text/javascript">
10    var sf_animate_fast      = false;
11    var sf_plus_bullet_path  = '';
12    var sf_minus_bullet_path = '';
13   
14    function sf_reduce(fieldset_id, fast) {
15      var l_m = jQuery('#' + fieldset_id + ' legend');
16      if (sf_reduce.arguments.length < 2) fast = sf_animate_fast;
17      if (!l_m.is('.sf_command')) l_m.addClass('sf_command');
18      if (!jQuery('#' + fieldset_id).is(':hidden'))
19       l_m.trigger('sf_reduce_private', fast);
20      l_m.removeClass('sf_command');
21    }
22   
23    function sf_maximize(fieldset_id, fast) {
24      var l_r = jQuery('#' + fieldset_id + '_reduced_legend');
25      if (sf_maximize.arguments.length < 2) fast = sf_animate_fast;
26      if (!l_r.is('.sf_command')) l_r.addClass('sf_command');
27      if (jQuery('#' + fieldset_id).is(':hidden'))
28       l_r.trigger('sf_maximize_private', fast);
29      l_r.removeClass('sf_command');
30    }
31   
32    function sf_lock(fieldset_id, locked) {
33      var l_m = jQuery('#' + fieldset_id + ' legend');
34      var l_r = jQuery('#' + fieldset_id + '_reduced_legend');
35      if (locked) {
36        l_r.css('cursor', 'auto');
37        l_r.removeClass('sf_click_ok');
38        l_m.css('cursor', 'auto');
39        l_m.removeClass('sf_click_ok');
40      }
41      else {
42        l_r.css('cursor', 'pointer');
43        if (!l_r.is('.sf_click_ok')) l_r.addClass('sf_click_ok');
44        l_m.css('cursor', 'pointer');
45        if (!l_m.is('.sf_click_ok')) l_m.addClass('sf_click_ok');
46      }
47    }
48   
49    function sf_init(fieldset_id, cache_id) {
50      jQuery(document).ready(function(){
51        var f_m   = jQuery('#' + fieldset_id);
52        var l_m   = jQuery('#' + fieldset_id + ' legend');
53        var l_txt = l_m.text();
54        var f_r   = f_m;
55        var l_r   = l_m;
56        if (sf_minus_bullet_path != '') l_m.prepend(
57          '<img alt = "" title = ""' +
58          'src = "' + sf_minus_bullet_path + '"' + '>&nbsp;'
59        );
60        l_m.addClass('sf_legends');
61        l_m.addClass('sf_click_ok');
62        f_m.before(document.createElement('div'));
63        f_r = f_m.prev();
64        f_r.css({
65          'display'        : 'none',
66          'padding-left'   : f_m.css('padding-left'),
67          'padding-right'  : f_m.css('padding-right'),
68          'margin-left'    : f_m.css('margin-left'),
69          'margin-top'     : f_m.css('margin-top'),
70          'margin-right'   : f_m.css('margin-right'),
71          'margin-bottom'  : f_m.css('margin-bottom'),
72          'line-height'    : f_m.css('line-height'),
73          'vertical-align' : f_m.css('vertical-align'),
74        });
75        f_r.attr('id', fieldset_id + '_reduced');
76        f_r.append(document.createElement('span'));
77        l_r = f_r.children('span');
78        l_r.attr('id', fieldset_id + '_reduced_legend');
79        l_r.addClass('sf_legends');
80        l_r.addClass('sf_click_ok');
81        l_r.css({
82          'font-weight'         : l_m.css('font-weight'),
83          'font-style'          : l_m.css('font-style'),
84          'letter-spacing'      : l_m.css('letter-spacing'),
85          'padding-left'        : f_m.css('border-left-width'),
86          'padding-right'       : f_m.css('border-right-width'),
87          'text-align'          : l_m.css('text-align'),
88          'outline'             : l_m.css('outline'),
89          'color'               : l_m.css('color'),
90          'font-family'         : l_m.css('font-family'),
91          'font-size'           : l_m.css('font-size'),
92          'border-top-width'    : l_m.css('border-top-width'),
93          'border-bottom-width' : l_m.css('border-bottom-width'),
94          'border-left-width'   : l_m.css('border-left-width'),
95          'border-right-width'  : l_m.css('border-right-width'),
96          'border-top-color'    : l_m.css('border-top-color'),
97          'border-bottom-color' : l_m.css('border-bottom-color'),
98          'border-left-color'   : l_m.css('border-left-color'),
99          'border-right-color'  : l_m.css('border-right-color'),
100          'border-top-style'    : l_m.css('border-top-style'),
101          'border-bottom-style' : l_m.css('border-bottom-style'),
102          'border-left-style'   : l_m.css('border-left-style'),
103          'border-right-style'  : l_m.css('border-right-style'),
104        });
105        if (sf_plus_bullet_path == '') l_r.append(
106          '<span style = "padding-left:' + l_m.css('padding-left') + ';">' +
107          l_txt + '</' + 'span>&nbsp;: '
108         );
109        else l_r.append(
110          '<img alt = "" title = "" src = "' + sf_plus_bullet_path + '" ' +
111          'style = "padding-left:' + l_m.css('padding-left') + ';"' +
112          '>&nbsp;' + l_txt + '&nbsp;: '
113         );
114        l_r.after(document.createElement('span'));
115        l_r.next().attr('id', cache_id);
116        jQuery('.sf_legends').css('cursor', 'pointer');
117        l_m.bind('sf_reduce_private', function(event, fast){ // Reduce
118          if (l_m.is('.sf_command, .sf_click_ok')) {
119            if (fast) {
120              f_m.hide();
121              f_r.show();
122            }
123            else {
124              f_m.find('*').not('.sf_legends, img').animate(
125                { 'opacity' : 0 },
126                200,
127                function(){
128                  f_m.slideUp(400, function(){
129                    f_r.show();
130                  });
131                }
132              );
133            }
134          }
135        });
136        l_r.bind('sf_maximize_private', function(event, fast){ // Maximize
137          if (l_r.is('.sf_command, .sf_click_ok')) {
138            if (fast) {
139              f_m.find('*').not('.sf_legends, img').css('opacity', 1);
140              f_r.hide();
141              f_m.show();
142            }
143            else {
144              f_r.hide();
145              f_m.slideDown(400, function(){
146                f_m.find('*').not('.sf_legends, img').animate(
147                  { 'opacity' : 1 },
148                  200
149                );
150              });
151            }
152          }
153        });
154        l_m.click(function(){ // Reduce
155          l_m.trigger('sf_reduce_private', sf_animate_fast);
156        });
157        l_r.click(function(){ // Maximize
158          l_r.trigger('sf_maximize_private', sf_animate_fast);
159        });
160      });
161    }
162  </script>
163{/literal}
Note: See TracBrowser for help on using the repository browser.