Dotclear


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/js/common.js

    r3 r131  
    66               handler.apply(this, arguments); 
    77               if (existingFunction) 
    8                     existingFunction.apply(this, arguments);  
     8                    existingFunction.apply(this, arguments); 
    99          }; 
    1010     })(handlerName in obj ? obj[handlerName] : null); 
     
    4545                    else 
    4646                         range = trparent.prevUntil('#'+dotclear.lastclicked); 
    47                      
     47 
    4848                    range.find('input[type=checkbox]').setChecked(dotclear.lastclickedstatus); 
    4949                    this.checked = dotclear.lastclickedstatus; 
     
    5757} 
    5858 
    59 jQuery.fn.toggleWithLegend = function(target,s) { 
     59jQuery.fn.toggleWithLegend = function(target,s, callback) { 
    6060     var defaults = { 
    6161          img_on_src: dotclear.img_plus_src, 
     
    7171     }; 
    7272     var p = jQuery.extend(defaults,s); 
    73       
     73 
    7474     if (!target) { return this; } 
    75       
     75 
    7676     var set_cookie = p.hide ^ p.reverse_cookie; 
    7777     if (p.cookie && jQuery.cookie(p.cookie)) { 
    7878          p.hide = p.reverse_cookie; 
    7979     } 
    80       
    81      var toggle = function(i,speed) { 
     80 
     81     var toggle = function(i,speed, callback) { 
    8282          speed = speed || 0; 
    8383          if (p.hide) { 
    8484               $(i).get(0).src = p.img_on_src; 
    8585               $(i).get(0).alt = p.img_on_alt; 
    86                target.hide(speed); 
     86               target.hide(speed, callback); 
    8787          } else { 
    8888               $(i).get(0).src = p.img_off_src; 
    8989               $(i).get(0).alt = p.img_off_alt; 
    90                target.show(speed); 
     90               target.show(speed, callback); 
    9191               if (p.fn) { 
    9292                    p.fn.apply(target); 
     
    9494               } 
    9595          } 
    96            
     96 
    9797          if (p.cookie && set_cookie) { 
    9898               if (p.hide ^ p.reverse_cookie) { 
     
    102102               } 
    103103          } 
    104            
     104 
    105105          p.hide = !p.hide; 
    106106     }; 
    107       
     107 
    108108     return this.each(function() { 
    109109          var i = document.createElement('img'); 
     
    117117               outline: 'none' 
    118118          }); 
    119            
     119 
    120120          var ctarget = p.legend_click ? this : a; 
    121            
     121 
    122122          $(ctarget).css('cursor','pointer'); 
    123123          $(ctarget).click(function() { 
    124                toggle(i,p.speed); 
    125                return false; 
    126           }); 
    127            
    128            
     124               toggle(i,p.speed, callback); 
     125               return false; 
     126          }); 
     127 
     128 
    129129          toggle($(i).get(0)); 
    130130          $(this).prepend(' ').prepend(a); 
     
    136136          return this; 
    137137     } 
    138       
     138 
    139139     var p = { 
    140140          img_on_src: dotclear.img_plus_src, 
     
    156156          return false; 
    157157     }; 
    158       
     158 
    159159     var sizeBox = function() { 
    160160          This.css('height','auto'); 
     
    163163          } 
    164164     }; 
    165       
     165 
    166166     var textToggler = function(o) { 
    167167          var i = $('<img src="'+p.img_on_src+'" alt="'+p.img_on_alt+'" />'); 
    168168          o.css('cursor','pointer'); 
    169169          var hide = true; 
    170            
     170 
    171171          o.prepend(' ').prepend(i); 
    172172          o.click(function() { 
     
    188188          }); 
    189189     }; 
    190       
     190 
    191191     this.addClass('help-box'); 
    192192     this.find('>hr').remove(); 
    193       
     193 
    194194     this.find('h3').each(function() { textToggler($(this)); }); 
    195195     this.find('h3:first').nextAll('*:not(h3)').hide(); 
    196196     sizeBox(); 
    197       
     197 
    198198     var img = $('<span id="help-button">'+dotclear.msg.help+'</span>'); 
    199199     var select = $(); 
    200200     img.click(function() { return toggle(); }); 
    201       
     201 
    202202     $('#content').append(img); 
    203       
     203 
    204204     return this; 
    205205}; 
     
    209209var dotclear = { 
    210210     msg: {}, 
    211       
     211 
    212212     hideLockable: function() { 
    213213          $('div.lockable').each(function() { 
     
    217217                    this.disabled = true; 
    218218                    $(this).width(($(this).width()-14) + 'px'); 
    219                      
     219 
    220220                    var imgE = document.createElement('img'); 
    221221                    imgE.src = 'images/locker.png'; 
     
    224224                    imgE.style.left = ($(this).width()+4)+'px'; 
    225225                    $(imgE).css('cursor','pointer'); 
    226                      
     226 
    227227                    $(imgE).click(function() { 
    228228                         $(this).hide(); 
     
    233233                         $(current_lockable_div).find('p.form-note').show(); 
    234234                    }); 
    235                      
     235 
    236236                    $(this).parent().css('position','relative'); 
    237237                    $(this).after(imgE); 
     
    239239          }); 
    240240     }, 
    241       
     241 
    242242     checkboxesHelpers: function(e) { 
    243243          var a = document.createElement('a'); 
     
    249249          }; 
    250250          $(e).append(a); 
    251            
     251 
    252252          $(e).append(document.createTextNode(' - ')); 
    253            
     253 
    254254          a = document.createElement('a'); 
    255255          a.href='#'; 
     
    260260          }; 
    261261          $(e).append(a); 
    262            
     262 
    263263          $(e).append(document.createTextNode(' - ')); 
    264            
     264 
    265265          a = document.createElement('a'); 
    266266          a.href='#'; 
     
    272272          $(e).append(a); 
    273273     }, 
    274       
     274 
    275275     postsActionsHelper: function() { 
    276276          $('#form-entries').submit(function() { 
    277277               var action = $(this).find('select[name="action"]').val(); 
    278278               var checked = false; 
    279                 
     279 
    280280               $(this).find('input[name="entries[]"]').each(function() { 
    281281                    if (this.checked) { 
     
    283283                    } 
    284284               }); 
    285                 
     285 
    286286               if (!checked) { return false; } 
    287                 
     287 
    288288               if (action == 'delete') { 
    289289                    return window.confirm(dotclear.msg.confirm_delete_posts.replace('%s',$('input[name="entries[]"]:checked').size())); 
    290290               } 
    291                 
     291 
    292292               return true; 
    293293          }); 
    294294     }, 
    295       
     295 
    296296     commentsActionsHelper: function() { 
    297297          $('#form-comments').submit(function() { 
    298298               var action = $(this).find('select[name="action"]').val(); 
    299299               var checked = false; 
    300                 
     300 
    301301               $(this).find('input[name="comments[]"]').each(function() { 
    302302                    if (this.checked) { 
     
    304304                    } 
    305305               }); 
    306                 
     306 
    307307               if (!checked) { return false; } 
    308                 
     308 
    309309               if (action == 'delete') { 
    310310                    return window.confirm(dotclear.msg.confirm_delete_comments.replace('%s',$('input[name="comments[]"]:checked').size())); 
    311311               } 
    312                 
     312 
    313313               return true; 
    314314          }); 
     
    323323          this.form.submit(); 
    324324     }); 
    325       
     325 
    326326     var menu_settings = { 
    327327          img_on_src: dotclear.img_menu_off, 
     
    331331     } 
    332332     $('#blog-menu h3:first').toggleWithLegend($('#blog-menu ul:first'), 
    333           $.extend({cookie:'dc_blog_menu',hide:false,reverse_cookie:true},menu_settings) 
     333          $.extend({cookie:'dc_blog_menu',hide:false,reverse_cookie:true},menu_settings), 
     334          positionFooter 
    334335     ); 
    335336     $('#system-menu h3:first').toggleWithLegend($('#system-menu ul:first'), 
    336           $.extend({cookie:'dc_system_menu'},menu_settings) 
     337          $.extend({cookie:'dc_system_menu'},menu_settings), 
     338          positionFooter 
    337339     ); 
    338340     $('#plugins-menu h3:first').toggleWithLegend($('#plugins-menu ul:first'), 
    339           $.extend({cookie:'dc_plugins_menu'},menu_settings) 
     341          $.extend({cookie:'dc_plugins_menu'},menu_settings), 
     342          positionFooter 
    340343     ); 
    341344     $('#favorites-menu h3:first').toggleWithLegend($('#favorites-menu ul:first'), 
    342           $.extend({cookie:'dc_favorites_menu'},menu_settings) 
     345          $.extend({cookie:'dc_favorites_menu'},menu_settings), 
     346          positionFooter 
    343347     ); 
    344       
     348 
    345349     $('#help').helpViewer(); 
    346       
     350 
    347351     $('.message').backgroundFade({sColor:'#cccccc',eColor:'#666666',steps:20}); 
    348352     $('.error').backgroundFade({sColor:'#f5e5e5',eColor:'#e5bfbf',steps:20}); 
    349       
     353 
    350354     $('form:has(input[type=password][name=your_pwd])').submit(function() { 
    351355          var e = this.elements['your_pwd']; 
     
    359363          return true; 
    360364     }); 
     365 
     366 
     367     // Sticky footer 
     368     positionFooter(); 
     369     function positionFooter() { 
     370          $("#wrapper").css({ overflow: "auto" }); 
     371          var page_height = $("#top").height() + $("#wrapper").height() - $("#footer").height(); 
     372          if( page_height < $(window).height() ){ 
     373               // calcul de la largeur 
     374               var page_width = $(document).width() - 30; 
     375               $("#footer").css({ 
     376                    position: "absolute", 
     377                    bottom: "10px", 
     378                    width: page_width+"px", 
     379                    padding: ".75em 0", 
     380                    marginbottom: "0" 
     381               }); 
     382          } else { 
     383               $("#footer").css({ 
     384                    position: "static", 
     385                    padding: ".75em 0", 
     386                    width: "auto", 
     387               }); 
     388          } 
     389 
     390     } 
     391     $(window).resize(positionFooter); 
     392 
    361393}); 
    362394 
Note: See TracChangeset for help on using the changeset viewer.

Sites map