Dotclear

Changeset 131:3aebed53fe73


Ignore:
Timestamp:
05/03/11 13:22:07 (14 years ago)
Author:
Anne-Sophie Tranchet as.tranchet@…
Branch:
userprefs
Children:
132:dece855f9b39, 144:c7ce5ceade9a
Message:

Sticky footer

Location:
admin
Files:
2 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 
  • admin/style/default.css

    r116 r131  
    135135} 
    136136#info-box a img, #info-box2 a img { 
    137      vertical-align: middle;  
     137     vertical-align: middle; 
    138138     padding-left: .3em; 
    139139     } 
     
    217217 
    218218/* favoris en haut */ 
    219 #fav-add {  
     219#fav-add { 
    220220     position: absolute; 
    221221     top: 3.5em; 
     
    226226     clear: both; 
    227227     padding: .75em 2em; 
    228      margin: 6em 1em .5em 1em; 
     228     margin: 6em 15px .5em 15px; 
    229229     -webkit-border-radius: .3em; 
    230230     -moz-border-radius: .3em; 
     
    243243} 
    244244#footer p span.credit { 
    245      font-size: .85em;  
     245     font-size: .85em; 
    246246     font-weight: normal; 
    247247} 
     
    996996} 
    997997.dragable tbody td { 
    998       
     998 
    999999} 
    10001000.handle { 
     
    11111111p.field { 
    11121112     position: relative; 
    1113       
     1113 
    11141114} 
    11151115p.field label { 
     
    11771177} 
    11781178/* commun */ 
    1179 input[type=submit],  
    1180 input[type=reset],  
    1181 input[type=button],  
     1179input[type=submit], 
     1180input[type=reset], 
     1181input[type=button], 
    11821182a.button, 
    1183 a.button.add,  
     1183a.button.add, 
    11841184a.back { 
    11851185     display: inline-block; 
     
    11901190     padding: .1em .75em .1em; 
    11911191     text-shadow: 0 1px 1px rgba(0,0,0,.3); 
    1192      -webkit-border-radius: .2em;  
     1192     -webkit-border-radius: .2em; 
    11931193     -moz-border-radius: .2em; 
    11941194     border-radius: .2em; 
     
    11961196} 
    11971197/* validation */ 
    1198 input[type=submit],  
     1198input[type=submit], 
    11991199input[type=button], 
    12001200a.button.add { 
     
    12051205     background: -moz-linear-gradient(top,  #2C8FD1,  #2373A8); 
    12061206} 
    1207 input[type=submit]:hover,  
    1208 input[type=reset]:hover,  
     1207input[type=submit]:hover, 
     1208input[type=reset]:hover, 
    12091209input[type=button]:hover, 
    1210 input[type=submit]:focus,  
    1211 input[type=reset]:focus,  
     1210input[type=submit]:focus, 
     1211input[type=reset]:focus, 
    12121212input[type=button]:focus, 
    12131213a.button.add:hover, 
     
    12201220} 
    12211221/* suppression et reset */ 
    1222 a.button,  
    1223 a.back,  
    1224 input[type=submit].reset,  
     1222a.button, 
     1223a.back, 
     1224input[type=submit].reset, 
    12251225input[type=submit].delete { 
    12261226     border: 1px solid #999; 
     
    12311231     text-shadow: none; 
    12321232     } 
    1233 a.button:hover,  
    1234 a.back:hover,  
    1235 input[type=submit].reset:hover,  
     1233a.button:hover, 
     1234a.back:hover, 
     1235input[type=submit].reset:hover, 
    12361236input[type=submit].delete:hover, 
    1237 a.button:focus,  
    1238 a.back:focus,  
    1239 input[type=submit].reset:focus,  
     1237a.button:focus, 
     1238a.back:focus, 
     1239input[type=submit].reset:focus, 
    12401240input[type=submit].delete:focus { 
    12411241     background: #e5e5e5; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map