Dotclear

source: plugins/widgets/widgets.js @ 2560:4ce25b2f2f5f

Revision 2560:4ce25b2f2f5f, 3.7 KB checked in by franck <carnet.franck.paul@…>, 12 years ago (diff)

Typo in widgets.js (prevented ordering in all languages but french)

Line 
1/*
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12*/
13
14dotclear.postExpander = function(line) {
15     var title = $(line).find('.widget-name');
16     title.find('.form-note').remove();
17     order = title.find('input[name*=order]');
18     link = $('<a href="#" alt="expand" class="aexpand"/>').append(title.text());
19     tools = title.find('.toolsWidget');
20     br = title.find('br');
21     title.empty().append(order).append(link).append(tools).append(br);
22
23     var img = document.createElement('img');
24     img.src = dotclear.img_plus_src;
25     img.alt = dotclear.img_plus_alt;
26     img.className = 'expand';
27     $(img).css('cursor','pointer');
28     img.onclick = function() { dotclear.viewPostContent($(this).parents('li')); };
29     link.click(function(e) {
30          e.preventDefault();
31          dotclear.viewPostContent($(this).parents('li'));
32     });
33
34     title.prepend(img);
35};
36
37dotclear.viewPostContent = function(line,action) {
38     var action = action || 'toogle';
39     var img = line.find('.expand');
40     var isopen = img.attr('alt') == dotclear.img_plus_alt;
41
42     if( action == 'close' || ( action == 'toogle' && !isopen ) ) {
43          line.find('.widgetSettings').hide();
44          img.attr('src', dotclear.img_plus_src);
45          img.attr('alt', dotclear.img_plus_alt);
46     } else if ( action == 'open' || ( action == 'toogle' && isopen ) ) {
47          line.find('.widgetSettings').show();
48          img.attr('src', dotclear.img_minus_src);
49          img.attr('alt', dotclear.img_minus_alt);
50     }
51
52};
53
54function reorder(ul) {
55     // réordonne
56     if( ul.attr('id') ) {
57          $list = ul.find('li').not('.empty-widgets');
58          $list.each(function(i) {
59               $this = $(this);
60
61               // trouve la zone de réception
62               var name = ul.attr('id').split('dnd').join('');
63
64               // modifie le name en conséquence
65               $this.find('*[name^=w]').each(function(){
66                    tab = $(this).attr('name').split('][');
67                    tab[0] = "w["+name;
68                    tab[1] = i;
69                    $(this).attr('name', tab.join(']['));
70               });
71
72               // ainsi que le champ d'ordre sans js (au cas ou)
73//             $this.find('input[title=ordre]').val(i);
74               $this.find('input[name*=order]').val(i);
75
76               // active ou désactive les fléches
77               if( i == 0 ) {
78                    $this.find('input.upWidget').prop('disabled', true);
79                    $this.find('input.upWidget').prop('src', 'images/disabled_up.png' );
80               } else {
81                    $this.find('input.upWidget').removeAttr('disabled');
82                    $this.find('input.upWidget').prop('src', 'images/up.png' );
83               }
84               if( i == $list.length-1 ) {
85                    $this.find('input.downWidget').prop('disabled', true);
86                    $this.find('input.downWidget').prop('src', 'images/disabled_down.png' );
87               } else {
88                    $this.find('input.downWidget').removeAttr('disabled');
89                    $this.find('input.downWidget').prop('src', 'images/down.png' );
90               }
91
92          });
93     }
94}
95
96$(function() {
97     // reset
98     $('input[name="wreset"]').click(function() {
99          return window.confirm(dotclear.msg.confirm_widgets_reset);
100     });
101
102     // plier/déplier
103     $('#dndnav > li, #dndextra > li, #dndcustom > li').each(function() {
104          dotclear.postExpander(this);
105          dotclear.viewPostContent($(this), 'close');
106     });
107
108     // remove
109     $('input[name*=_rem]').click(function (e) {
110          e.preventDefault();
111          $(this).parents('li').remove();
112     });
113
114     // move
115     $('input[name*=_down]').click(function (e) {
116          e.preventDefault();
117          $this = $(this);
118          $li = $this.parents('li');
119          $li.next().after($li);
120          reorder($this.parents('ul.connected'));
121     });
122     $('input[name*=_up]').click(function (e) {
123          e.preventDefault();
124          $this = $(this);
125          $li = $this.parents('li');
126          $li.prev().before($li);
127          reorder($this.parents('ul.connected'));
128     });
129});
Note: See TracBrowser for help on using the repository browser.

Sites map