Fossil

Check-in [83bb8a86]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Clicking anywhere on the comment field of a /timeline toggles the (detail) on/off. The ellipsis is no longer a hyperlink.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | declutter-via-js
Files: files | file ages | folders
SHA3-256: 83bb8a867482d4f2e4aeb002222ba63adce607e03adfdd3b624b06622093c476
User & Date: drh 2017-11-26 01:25:52
Context
2017-11-26
01:29
Fix a javascript error in toggleEllipsis() in the /timeline. check-in: 4d6fda6d user: drh tags: declutter-via-js
01:25
Clicking anywhere on the comment field of a /timeline toggles the (detail) on/off. The ellipsis is no longer a hyperlink. check-in: 83bb8a86 user: drh tags: declutter-via-js
00:41
Default CSS for timeline ellipsis. check-in: 9b739d1d user: drh tags: declutter-via-js
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/finfo.c.

519
520
521
522
523
524
525
526


527
528
529
530
531
532
533
534
535
536
537
538
539
      @ <td class="timelineTableCell" style="background-color: %h(zBgClr);">
    }else{
      @ <td class="timelineTableCell">
    }
    if( bHashBeforeComment && zUuid ){
      hyperlink_to_uuid(zUuid);
    }
    @ <span class="timelineComment timelineCheckinComment">%W(zCom)</span>


    if( bHashAfterComment && zUuid ){
      hyperlink_to_uuid(zUuid);
    }
    if( bShowDetail ){
      @ <a class='timelineEllipsis anticlutter' id='ellipsis-%d(frid)' \
      @  onclick='expandEllipsis(%d(frid))'>&bull;&bull;&bull;</a>
      if( bSeparateDetail ){
        if( zBgClr && zBgClr[0] ){
          @ <td class="timelineTableCell timelineDetailCell"
          @  style="background-color: %h(zBgClr);">
        }else{
          @ <td class="timelineTableCell timelineDetailCell">
        }







|
>
>




|
|







519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
      @ <td class="timelineTableCell" style="background-color: %h(zBgClr);">
    }else{
      @ <td class="timelineTableCell">
    }
    if( bHashBeforeComment && zUuid ){
      hyperlink_to_uuid(zUuid);
    }
    @ <span class="timelineComment timelineCheckinComment" \
    @  onclick='toggleEllipsis(%d(frid))'>
    @ %W(zCom)</span>
    if( bHashAfterComment && zUuid ){
      hyperlink_to_uuid(zUuid);
    }
    if( bShowDetail ){
      @ <span class='timelineEllipsis anticlutter' id='ellipsis-%d(frid)' \
      @  onclick='expandEllipsis(%d(frid))'>&bull;&bull;&bull;</span>
      if( bSeparateDetail ){
        if( zBgClr && zBgClr[0] ){
          @ <td class="timelineTableCell timelineDetailCell"
          @  style="background-color: %h(zBgClr);">
        }else{
          @ <td class="timelineTableCell timelineDetailCell">
        }

Changes to src/timeline.c.

488
489
490
491
492
493
494
495
496
497
498
499

500
501
502
503
504
505
506
...
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
....
1155
1156
1157
1158
1159
1160
1161
1162



1163




1164
1165
1166

1167
1168
1169
1170
1171
1172
1173
        }
      }
    }
    db_column_blob(pQuery, commentColumn, &comment);
    if( zType[0]!='c' ){
      /* Comments for anything other than a check-in are generated by
      ** "fossil rebuild" and expect to be rendered as text/x-fossil-wiki */
      @ <span class='timelineComment'>
      wiki_convert(&comment, 0, WIKI_INLINE);
      @ </span>
    }else{
      @ <span class='timelineComment timelineCheckinComment'>

      if( bCommentGitStyle ){
        /* Truncate comment at first blank line */
        int ii, jj;
        int n = blob_size(&comment);
        char *z = blob_str(&comment);
        for(ii=0; ii<n; ii++){
          if( z[ii]=='\n' ){
................................................................................
    }


    /* Generate extra information and hyperlinks to follow the comment.
    ** Example:  "(check-in: [abcdefg], user: drh, tags: trunk)"
    */
    if( bShowDetail ){
      @ <a class='timelineEllipsis anticlutter' id='ellipsis-%d(rid)' \
      @  onclick='expandEllipsis(%d(rid))'>&bull;&bull;&bull;</a>
      if( bSeparateDetail ){
        if( zBgClr && zBgClr[0] && rid!=selectedRid ){
          @ <td class="timelineTableCell timelineDetailCell"
          @  style="background-color: %h(zBgClr);">
        }else{
          @ <td class="timelineTableCell timelineDetailCell">
        }
................................................................................
    @   checkHeight();
    @ }
    @ function reclutter(){
    @   changeDisplay('clutter','inline');
    @   changeDisplay('anticlutter','none');
    @   checkHeight();
    @ }
    @ function expandEllipsis(id){



    @   gebi("ellipsis-"+id).style.display='none';




    @   gebi("detail-"+id).style.display='inline';
    @   var x = gebi("links-"+id);
    @   if(x) x.style.display='inline';

    @   checkHeight();
    @ }
    @ var lastRow = gebi("m"+rowinfo[rowinfo.length-1].id);
    @ var lastY = 0;
    @ function checkHeight(){
    @   var h = absoluteY(lastRow);
    @   if( h!=lastY ){







|



|
>







 







|
|







 







|
>
>
>
|
>
>
>
>
|
|
|
>







488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
...
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
....
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
        }
      }
    }
    db_column_blob(pQuery, commentColumn, &comment);
    if( zType[0]!='c' ){
      /* Comments for anything other than a check-in are generated by
      ** "fossil rebuild" and expect to be rendered as text/x-fossil-wiki */
      @ <span class='timelineComment' onclick='toggleEllipsis(%d(rid))'>
      wiki_convert(&comment, 0, WIKI_INLINE);
      @ </span>
    }else{
      @ <span class='timelineComment timelineCheckinComment' \
      @  onclick='toggleEllipsis(%d(rid))'>
      if( bCommentGitStyle ){
        /* Truncate comment at first blank line */
        int ii, jj;
        int n = blob_size(&comment);
        char *z = blob_str(&comment);
        for(ii=0; ii<n; ii++){
          if( z[ii]=='\n' ){
................................................................................
    }


    /* Generate extra information and hyperlinks to follow the comment.
    ** Example:  "(check-in: [abcdefg], user: drh, tags: trunk)"
    */
    if( bShowDetail ){
      @ <span class='timelineEllipsis anticlutter' id='ellipsis-%d(rid)' \
      @  onclick='expandEllipsis(%d(rid))'>&bull;&bull;&bull;</span>
      if( bSeparateDetail ){
        if( zBgClr && zBgClr[0] && rid!=selectedRid ){
          @ <td class="timelineTableCell timelineDetailCell"
          @  style="background-color: %h(zBgClr);">
        }else{
          @ <td class="timelineTableCell timelineDetailCell">
        }
................................................................................
    @   checkHeight();
    @ }
    @ function reclutter(){
    @   changeDisplay('clutter','inline');
    @   changeDisplay('anticlutter','none');
    @   checkHeight();
    @ }
    @ function toggleEllipsis(id){
    @   var x = gebi("ellipsis-"+id);
    @   if( x.style.display=='none' ){
    @     x.style.display='inline';
    @     gebi("detail-"+id).style.display='none';
    @     x = gebi("links-"+id);
    @     if(x) x.style.display='none';
    @   }else{
    @     x.style.display='none';
    @     gebi("detail-"+id).style.display='inline';
    @     x = gebi("links-"+id);
    @     if(x) x.style.display='inline';
    @   }
    @   checkHeight();
    @ }
    @ var lastRow = gebi("m"+rowinfo[rowinfo.length-1].id);
    @ var lastY = 0;
    @ function checkHeight(){
    @   var h = absoluteY(lastRow);
    @   if( h!=lastY ){