Changeset 124708 in spip-zone


Ignore:
Timestamp:
May 16, 2020, 5:53:30 PM (2 weeks ago)
Author:
Maïeul Rouquette
Message:

implémentation du reordonateur de colonne par bouton

Location:
_plugins_/formidable_tablesorter/branches/dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable_tablesorter/branches/dev

    • Property subgit:lock:1d652e9a7257541072a6f1e7317b06eec5eff747 deleted
    • Property subgit:lock:72a5aee58d3d751347659d39ba7f363ac52f84d7 set to 2020-05-16T20:50:10.613
  • _plugins_/formidable_tablesorter/branches/dev/javascript/formidable_tablesorter.js

    r124704 r124708  
    33**/
    44formidable_ts = '';
    5 formidable_ts_sticky= '';
    65$(function() {
    76        formidable_ts = $(".tablesorter");
    87        formidable_ts.tablesorter({
    9                 widgets: ["zebra","stickyHeaders", "filter","print", "columnSelector", "output", "resizable", "savesort"],
     8                widgets: ["zebra",
     9                        "stickyHeaders",
     10                        "filter",
     11                        "print",
     12                        "columnSelector",
     13                        "output",
     14                        "resizable",
     15                        "savesort"],
    1016                widgetOptions: {
    1117                        columnSelector_container: $('#columnSelector'),
     
    3137                }
    3238        ).on('columnUpdate', function() {
    33                 formidable_ts_add_reorder_add_arrows();
     39                formidable_ts_add_reorder_arrows();
    3440        });;
    3541  $('.print').click(function() {
     
    4551                formidable_ts.trigger('filterReset');
    4652        });
    47         formidable_ts_sticky = $('#'+formidable_ts.attr('id')+'-sticky');
    4853        formidable_ts_init_sort();
    4954        formidable_ts_init_reorder();
     
    139144        );
    140145        $.tablesorter.storage(formidable_ts, 'tablesorter-reorder', positions, {});
     146        formidable_ts.trigger('resetToLoadState');
     147        formidable_ts_add_reorder_arrows();
    141148}
    142149
     
    144151function formidable_ts_init_reorder() {
    145152        formidable_ts_restore_reorder();
    146         formidable_ts_add_reorder_add_arrows();
     153        formidable_ts_add_reorder_arrows();
    147154}
    148155
     
    175182                // Reinitialiser tout
    176183                formidable_ts.trigger('resetToLoadState');
    177         }
    178 }
     184                formidable_ts_add_reorder_arrows();
     185        }
     186}
     187
    179188// Ajout des flèches au chargement
    180 function formidable_ts_add_reorder_add_arrows() {
    181 
     189function formidable_ts_add_reorder_arrows() {
    182190        $('.move-arrows').remove();
     191        formidable_ts_sticky = $('#'+formidable_ts.attr('id')+'-sticky');
    183192        tables = [formidable_ts_sticky, formidable_ts];
    184193        for (table of tables) {
     
    196205                });
    197206        }
    198 }
    199 
     207        $('.move-arrows a').click(function() {
     208                th = $(this).parent().parent();
     209                tr = th.parent();
     210                index = th.index();
     211                if ($(this).hasClass('left')) {
     212                        prev = th.prevAll(':not(.filtered)').first();
     213                        index_inserting = prev.index();
     214                        inserting = 'before';
     215                } else {
     216                        next = th.nextAll(':not(.filtered)').first();
     217                        index_inserting = next.index();
     218                        inserting = 'after';
     219                }
     220                formidable_ts_sticky = $('#'+formidable_ts.attr('id')+'-sticky');
     221                tables = [formidable_ts_sticky, formidable_ts];
     222                for (table of tables) {
     223                        $('tr', table).each(function(){
     224                                cells = $(this).children();
     225                                this_cell = cells.eq(index).clone();
     226                                cells.eq(index).remove();
     227                                if (inserting == 'after') {
     228                                        cells.eq(index_inserting).after(this_cell);
     229                                } else {
     230                                        cells.eq(index_inserting).before(this_cell);
     231                                }
     232                        });
     233                }
     234                formidable_ts_post_reorder();
     235        });
     236}
Note: See TracChangeset for help on using the changeset viewer.