Changeset 4408

Show
Ignore:
Timestamp:
01/11/08 08:44:24 (10 months ago)
Author:
drry
Message:

websites/coderepos.org/trac/share/js/TracUtils.js:

インデント下げ
RegExp? キャッシュ
ほか

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • websites/coderepos.org/trac/share/js/TracUtils.js

    r4392 r4408  
    9797                , 'motemen'    : 'id:motemen' 
    9898                , 'shyouhei'   : 'http://mput.dip.jp/mput/images/icon.jpg' 
    99                 , 'm-takagi'   : 'http://www.gravatar.com/avatar.php?gravatar_id=c3f5a6e729b57f99cb9e7b3ca60152aa' 
     99                , 'm-takagi'   : 'http://www.gravatar.com/avatar.php?gravatar_id=c3f5a6e729b57f99cb9e7b3ca60152aa&size=16' 
    100100                , 'takano32'   : 'id:takano32' 
    101101                , 'kakutani'   : 'id:kakutani' 
     
    188188         */ 
    189189        , addCommitterRecentCommits : function () { 
    190                 if (/wiki\/Committers\/([^\/]+)/.test(location.pathname)) { 
    191                         var author = RegExp.$1; 
    192                         $.get(TracUtils.TRAC_BASE+"/search?q="+author+"&noquickjump=1&changeset=on", {}, function (data) { 
    193                                 $("<div class='recent-commits'><h2>Recent Commits</h2></div>").append( 
    194                                         $(data).xfind(".//dl") 
    195                                                 .xfind("dd[span[@class='author'] != 'By "+author+"']") 
    196                                                         .xfind("preceding-sibling::dt[1] | preceding-sibling::dd[1]").remove().end() 
    197                                                 .remove() 
    198                                                 .end() 
    199                                 ).appendTo("#searchable"); 
    200                         }); 
    201                 } 
     190                if (! /\/wiki\/Committers\/([^\/]+)/.test(location.pathname)) return; 
     191                var author = RegExp.$1; 
     192                $.get(TracUtils.TRAC_BASE+"/search?q="+author+"&noquickjump=1&changeset=on", {}, function (data) { 
     193                        $("<div class='recent-commits'><h2>Recent Commits</h2></div>").append( 
     194                                $(data).xfind(".//dl") 
     195                                        .xfind("dd[span[@class='author'] != 'By "+author+"']") 
     196                                                .xfind("preceding-sibling::dt[1] | preceding-sibling::dd[1]").remove().end() 
     197                                        .remove() 
     198                                        .end() 
     199                        ).appendTo("#searchable"); 
     200                }); 
    202201        } 
    203202 
     
    211210        , addRecentChangesForProject : function () { 
    212211                // IE だとなぜかどうしようもなく遅いので処理しない 
    213                 if ($.browser.msie) return; 
    214                 if (/wiki\//.test(location.pathname)) { 
    215                         $("#searchable pre").each(function () { 
    216                                 var m = $(this).text().match(RegExp("svn c(?:o|heckout) "+TracUtils.SVN_REPOS_BASE+"([^ ]+)")); 
    217                                 if (!m) return; 
    218                                 var path = m[1].replace(/\/trunk\/?$/, ""); 
    219                                 var url  = TracUtils.TRAC_BASE + "/log" + path; 
    220                                 $.get(url, {}, function (data) { 
    221                                         // 高速化と、jQuery がだす getElementsByTagName がないという 
    222                                         // エラーを回避するため正規表現 
    223                                         data = data.match(/<table id="chglist"([^\s]|\s)+<\/table>/)[0]; 
    224                                         $("<div><h2><a href='"+url+"'>Project Recent Changes</a></h2></div>") 
    225                                                 .append( 
    226                                                         $(data) 
    227                                                                 .find("tr:gt(10)").remove().end() 
    228                                                                 .find("th.diff, td.diff, th.change, td.change, th.rev, td.rev").remove().end() 
    229                                                 ) 
    230                                         .appendTo("#searchable"); 
    231                                 }); 
    232                                 return false; 
     212                if ($.browser.msie && location.pathname.indexOf("/share/wiki/") == 0) return; 
     213                var target_re = RegExp("svn\s+c(?:o|heckout)\s+"+TracUtils.SVN_REPOS_BASE+"(\S+)"); 
     214                $("#searchable pre").each(function () { 
     215                        var m = $(this).text().match(target_re); 
     216                        if (!m) return; 
     217                        var path = m[1].replace(/\/trunk\/?$/, ""); 
     218                        var url  = TracUtils.TRAC_BASE + "/log" + path; 
     219                        $.get(url, {}, function (data) { 
     220                                // 高速化と、jQuery がだす getElementsByTagName がないという 
     221                                // エラーを回避するため正規表現 
     222                                data = data.match(/<table id="chglist"(?:\S|\s)+<\/table>/)[0]; 
     223                                $("<div><h2><a href='"+url+"'>Project Recent Changes</a></h2></div>") 
     224                                        .append( 
     225                                                $(data) 
     226                                                        .find("tr:gt(10)").remove().end() 
     227                                                        .find("th.diff, td.diff, th.change, td.change, th.rev, td.rev").remove().end() 
     228                                        ) 
     229                                .appendTo("#searchable"); 
    233230                        }); 
    234                 } 
     231                        return false; 
     232                }); 
    235233        } 
    236234