「MediaWiki:Gadget-tablesort.js」の版間の差分

No.name2 (トーク | 投稿記録)
sortmiddleの追加。ルビの拗音を変換するように修正
No.name2 (トーク | 投稿記録)
sortmiddleが正しい位置に挿入できていなかった問題を修正
7行目: 7行目:
   var $table = $(this);
   var $table = $(this);
       rows = this.rows,
       rows = this.rows,
       sortmiddles = {},
       sortmiddles = [],
      sortmiddlesPos = [],
       sortTypes = [];
       sortTypes = [];


22行目: 23行目:
     /* sortmiddle */
     /* sortmiddle */
     } else if ($tr.hasClass('sortmiddle')) {
     } else if ($tr.hasClass('sortmiddle')) {
       $tr.removeClass('sortbottom');
       //$tr.removeClass('sortbottom');
       sortmiddles[i] = rows[i];
       sortmiddles.push(rows[i]);
      sortmiddlesPos.push(i);


     } else {
     } else {
49行目: 51行目:


   $table.on('sortEnd.tablesorter', function() {
   $table.on('sortEnd.tablesorter', function() {
     var rows = this.rows;
     var rows = this.rows,
     for (i in sortmiddles) {
        len = sortmiddles.length;
      sortmiddles[i].parentNode.removeChild(sortmiddles[i]);
    /* すべてのsortmiddleを一旦取り除く */
       rows[i].parentNode.insertBefore(sortmiddles[i], rows[i]);
     for (var i=0; i<len; i++) {
        sortmiddles[i].parentNode.removeChild(sortmiddles[i]);
    }
    /* sortmiddleを記憶した位置に挿入 */
    for (var i=0; i<len; i++) {
       if (rows[sortmiddlesPos[i]]) {
        rows[sortmiddlesPos[i]].parentNode.insertBefore(sortmiddles[i], rows[sortmiddlesPos[i]]);
      } else {
        rows[rows.length - 1].parentNode.appendChild(sortmiddles[i]);
      }
     }
     }
   });
   });