Changeset 5894 in spip-zone


Ignore:
Timestamp:
Oct 4, 2006, 11:28:16 PM (15 years ago)
Author:
fil@…
Message:

je crois que les widgets fonctionnent maintenant... javascript pouf pouf

Location:
_plugins_/_dev_/widgets
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/widgets/widgets.html

    r5876 r5894  
    2525
    2626
    27 <a href="#" onclick="$('.widget').each($.setupwidget);">Tout &eacute;diter !</a>
     27<a href="#" onclick="$.initallwidgets(event)">Tout &eacute;diter !</a>
    2828
    2929</body>
  • _plugins_/_dev_/widgets/widgets.js

    r5893 r5894  
    22url_widgets_html = 'spip.php?action=widgets_html&class=';
    33
    4 $.cancelwidgets = function(e){
     4$.cancelwidgets = function() {
    55  $(".widget").each(function(){
    66    var html = $(this).attr('orig_html');
    7     if (html != '<>')
     7    if (html != '<>') {
    88      $(this).html(html);
    9   }).attr('orig_html', '<>');
     9    }
     10    $(this).attr('orig_html', '<>');
     11  });
    1012}
    1113
    12 $.setupwidget = function(e){
    13     var me = this;
    14     e.stopPropagation(); // avoid sending a global click to the body onclick
     14$.initallwidgets = function(e) {
     15  $('.widget').each(function(){
     16    $.initwidget(this);}
     17  );
     18  e.stopPropagation();
     19}
    1520
    16     // si je suis en mode "widget"
    17     if ($(me).attr('orig_html') == '<>') {
    18       $(me).attr('orig_html', $(me).html());
    19     } else {
     21$.initwidget = function(me) {
     22    // voir si je suis en mode "widget"
     23    if ($(me).attr('orig_html') != '<>')
    2024      return;
    21     }
    2225
    2326    // reglages de taille mini/maxi; pas tres beau
     
    3033
    3134    // charger le formulaire
    32     $.get(url_widgets_html+encodeURIComponent(this.className),
     35    $.get(url_widgets_html+encodeURIComponent(me.className),
    3336       function (c) {
    3437         $(me)
     38         .attr('orig_html', $(me).html())
    3539         .html(c)
    3640         .find('form')
     
    4852               'fontFamily': $(me).css('fontFamily')
    4953             })
    50              .each(function(){this.focus();})
     54             .each(function(n){if (n==0) this.focus();})
    5155             .keypress(function(e){
    5256               if (e.keyCode == 27) {
     
    6064             .click(function(){
    6165               $(me)
    62                .html($(me).attr('orig_html')); //restore original html
    63                $(me).attr('orig_html', '<>');
     66               .html($(me).attr('orig_html'))
     67               .attr('orig_html', '<>');
    6468               return false;
    6569             })
     
    7175  }
    7276
     77$.clickwidget = function(e){
     78  e.stopPropagation(); // avoid sending a global click to the body onclick
     79  $.initwidget(this);
     80}
     81
    7382$(function() {
    7483  $(".widget")
    7584  .attr('orig_html', '<>')
    76   .click($.setupwidget);
     85  .click($.clickwidget);
    7786  $("body")
    7887  .click($.cancelwidgets);
Note: See TracChangeset for help on using the changeset viewer.