Dotclear

Changeset 1130:9d57df031a12


Ignore:
Timestamp:
03/26/13 14:37:00 (12 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Antispam plugin now uses jQuery UI sortable for filters ordering via drag'n'drop

Location:
plugins/antispam
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • plugins/antispam/antispam.js

    r1052 r1130  
    1 var dragsort = ToolMan.dragsort(); 
    21$(function() { 
    3      $("#filters-list").each(function() { 
    4           dragsort.makeTableSortable(this,dotclear.sortable.setHandle, dotclear.sortable.saveOrder); 
     2     $("#filters-list").sortable({'cursor':'move'}); 
     3     $("#filters-list tr").hover(function () { 
     4          $(this).css({'cursor':'move'}); 
     5     }, function () { 
     6          $(this).css({'cursor':'auto'}); 
    57     }); 
    6      $('form input[type=submit][name=delete_all]').click(function(){ 
    7           return window.confirm(dotclear.msg.confirm_spam_delete); 
     8     $('#filters-form').submit(function() { 
     9          var order=[]; 
     10          $("#filters-list tr td input.position").each(function() { 
     11               order.push(this.name.replace(/^f_order\[([^\]]+)\]$/,'$1')); 
     12          }); 
     13          $("input[name=filters_order]")[0].value = order.join(','); 
     14          return true; 
    815     }); 
     16     $("#filters-list tr td input.position").hide(); 
     17     $("#filters-list tr td.handle").addClass('handler'); 
    918}); 
    10  
    11 dotclear.sortable = { 
    12      setHandle: function(item) { 
    13           var handle = $(item).find('td.handle').get(0); 
    14           while (handle.firstChild) { 
    15                handle.removeChild(handle.firstChild); 
    16           } 
    17            
    18           item.toolManDragGroup.setHandle(handle); 
    19           $(handle).addClass('handler'); 
    20      }, 
    21       
    22      saveOrder: function(item) { 
    23           var group = item.toolManDragGroup; 
    24           var order = $('#filters_order').get(0); 
    25           group.register('dragend', function() { 
    26                order.value = ''; 
    27                items = item.parentNode.getElementsByTagName('tr'); 
    28                 
    29                for (var i=0; i<items.length; i++) { 
    30                     order.value += items[i].id.substr(2)+','; 
    31                } 
    32           }); 
    33      } 
    34 }; 
  • plugins/antispam/index.php

    r1127 r1130  
    108108  </script> 
    109109  <?php 
    110   echo 
    111   dcPage::jsToolMan(). 
    112   dcPage::jsPageTabs($default_tab); 
    113   $core->auth->user_prefs->addWorkspace('accessibility');  
    114   $user_dm_nodragdrop = $core->auth->user_prefs->accessibility->nodragdrop; 
    115   if (!$user_dm_nodragdrop) { 
    116      echo dcPage::jsLoad('index.php?pf=antispam/antispam.js'); 
     110  echo dcPage::jsPageTabs($default_tab); 
     111  $core->auth->user_prefs->addWorkspace('accessibility'); 
     112  if (!$core->auth->user_prefs->accessibility->nodragdrop) { 
     113     echo 
     114          dcPage::jsLoad('js/jquery/jquery-ui.custom.js'). 
     115          dcPage::jsLoad('index.php?pf=antispam/antispam.js'); 
    117116  } 
    118117  ?> 
     
    171170     # Filters 
    172171     echo 
    173      '<form action="'.$p_url.'" method="post" class="fieldset">'; 
     172     '<form action="'.$p_url.'" method="post" class="fieldset" id="filters-form">'; 
    174173 
    175174     if (!empty($_GET['upd'])) { 
     
    202201          echo 
    203202          '<tr class="line'.($f->active ? '' : ' offline').'" id="f_'.$fid.'">'. 
    204           '<td class="handle">'.form::field(array('f_order['.$fid.']'),2,5,(string) $i, '', '', false, 'title="'.__('position').'"').'</td>'. 
     203          '<td class="handle">'.form::field(array('f_order['.$fid.']'),2,5,(string) $i, 'position', '', false, 'title="'.__('position').'"').'</td>'. 
    205204          '<td class="nowrap">'.form::checkbox(array('filters_active[]'),$fid,$f->active, '', '', false, 'title="'.__('Active').'"').'</td>'. 
    206205          '<td class="nowrap">'.form::checkbox(array('filters_auto_del[]'),$fid,$f->auto_delete, '', '', false, 'title="'.__('Auto Del.').'"').'</td>'. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map