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

data-sort-type="number" の動作をデフォルトに近づける(第6回総選挙#速報発表の不具合を修正)
(tr.unsortable, tr.sorthiddenを追加)
(data-sort-type="number" の動作をデフォルトに近づける(第6回総選挙#速報発表の不具合を修正))
 
(同じ利用者による、間の1版が非表示)
7行目: 7行目:
   var $sortableTables = $content.find('table.sortable');
   var $sortableTables = $content.find('table.sortable');
   if ($sortableTables.length) {
   if ($sortableTables.length) {
     $sortableTables.removeClass('sortable');
     $sortableTables.removeClass('sortable jquery-tablesorter');
     $.getScript(mw.util.wikiScript() + '?title=MediaWiki:Jquery.tablesorter.min.js&action=raw&ctype=text/javascript', function() {
     $.getScript(mw.util.wikiScript() + '?title=MediaWiki:Jquery.tablesorter.min.js&action=raw&ctype=text/javascript', function() {


60行目: 60行目:
           });
           });
         }
         }
      });
      $.tablesorter.addParser({
        id: 'number',
        is: $.tablesorter.isDigit,
        format: function(s) {
          var i = parseFloat(s.replace( /[, ]/g, '').replace('\u2212', '-'));
          return isNaN(i) ? 0 : i;
        },
        type: 'numeric'
       });
       });


       /* tablesorterに必要なテーブル要素を生成する */
       /* tablesorterに必要なテーブル要素を生成する */
       $sortableTables.each(function() {
       $sortableTables.each(function() {
         var $thead = $('<thead></thead>'),
         /* 標準のソート機能が読み込まれてしまった場合に、割り当てられたアクションを取り除く */
            $tfoot = $('<tfoot></tfoot>'),
        if (this.tHead) {
            rows = this.tBodies[0].rows, $tr;
          $('> th', this.tHead.rows).off('keypress click');
          $(this.tBodies[0]).prepend(this.tHead.rows);
          $(this.tHead).remove();
        }
 
        var rows = this.tBodies[0].rows, $tr;
 
         /* thead要素 */
         /* thead要素 */
        var $thead = $('<thead></thead>');
         while (rows.length) {
         while (rows.length) {
           $tr = $(rows[0]);
           $tr = $(rows[0]);
79行目: 96行目:
                 $cell.data('sorter', false);
                 $cell.data('sorter', false);
               } else if ($cell.data('sortType') === 'number') {
               } else if ($cell.data('sortType') === 'number') {
                 $cell.data('sorter', 'digit');
                 $cell.data('sorter', 'number');
               }
               }
             });
             });
88行目: 105行目:


         /* tfoot要素 */
         /* tfoot要素 */
         for (var i = rows.length - 1; 0 < i; i--) {
         if (!this.tFoot) {
          if ($(rows[i]).children('td').length) break;
          var $tfoot = $('<tfoot></tfoot>');
          $tfoot.prepend(rows[i]);
          for (var i = rows.length - 1; 0 < i; i--) {
            if ($(rows[i]).children('td').length) break;
            $tfoot.prepend(rows[i]);
          }
          $tfoot.appendTo(this);
         }
         }
        $tfoot.appendTo(this);


         var $rows = $(rows);
         var $rows = $(rows);
user-upload
3,547

回編集