Fossil

Check-in [63785bd911]
Login

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

Overview
Comment:Draw an X instead of a horizontal line. Uses SVG as attempts with characters differed wildly among browsers.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | indicate-closed-branches-in-timeline
Files: files | file ages | folders
SHA3-256: 63785bd9111246a26b7be63487f788233e6a1c3b0b686f76454cca86f7a13ebb
User & Date: preben 2023-09-27 11:24:19.044
Context
2023-09-28
13:38
Mark closed leaves with an X on the timeline graph. ... (check-in: 57bea365a3 user: drh tags: trunk)
2023-09-27
15:17
Check-mark alternative for closed branches. ... (Closed-Leaf check-in: 62ab3a1d80 user: preben tags: indicate-closed-branches-in-timeline)
11:24
Draw an X instead of a horizontal line. Uses SVG as attempts with characters differed wildly among browsers. ... (check-in: 63785bd911 user: preben tags: indicate-closed-branches-in-timeline)
05:28
Make the horisontal line for lcosed leafes thinner. ... (check-in: 6c27f4136e user: preben tags: indicate-closed-branches-in-timeline)
Changes
Unified Diff Ignore Whitespace Patch
Changes to skins/ardoise/css.txt.
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #bbb
}
.tl-node.closed-leaf:after {
  content: '';
  position: absolute;
  top: 4px;
  left: 0px;
  width: 10px;
  height: 2px;
  background: #bbb
  border-radius: 0%;
}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  width: 8px;







|
<

|


|
|
<







1031
1032
1033
1034
1035
1036
1037
1038

1039
1040
1041
1042
1043
1044

1045
1046
1047
1048
1049
1050
1051
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #bbb
}
.tl-node.closed-leaf svg {

  position: absolute;
  top: 0px;
  left: 0px;
  width: 10px;
  height: 10px;
  color: #bbb;

}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  width: 8px;
Changes to skins/darkmode/css.txt.
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #bbb
}
.tl-node.closed-leaf:after {
  content: '';
  position: absolute;
  top: 4px;
  left: 0px;
  width: 10px;
  height: 2px;
  background: #bbb
  border-radius: 0%;
}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  width: 8px;







|
<

|


|
|
<







386
387
388
389
390
391
392
393

394
395
396
397
398
399

400
401
402
403
404
405
406
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #bbb
}
.tl-node.closed-leaf svg {

  position: absolute;
  top: 0px;
  left: 0px;
  width: 10px;
  height: 10px;
  color: #bbb;

}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 1px;
  left: 1px;
  width: 8px;
Changes to skins/eagle/css.txt.
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
  left: 3px;
  width: 4px;
  height: 4px;
  background: #fff;
}

/* closed leaf commit marker */
.tl-node.closed-leaf:after {
  content: '';
  position: absolute;
  top: 4px;
  left: 0px;
  width: 10px;
  height: 2px;
  background: #fff;
  border-radius: 0%;
}

/* up arrow */
.tl-arrow.u {
  margin-top: -1px;
  border-width: 0 3px;
  border-bottom: 7px solid #fff;







|
<

|


|
|
<







209
210
211
212
213
214
215
216

217
218
219
220
221
222

223
224
225
226
227
228
229
  left: 3px;
  width: 4px;
  height: 4px;
  background: #fff;
}

/* closed leaf commit marker */
.tl-node.closed-leaf svg {

  position: absolute;
  top: 0px;
  left: 0px;
  width: 10px;
  height: 10px;
  color: #fff;

}

/* up arrow */
.tl-arrow.u {
  margin-top: -1px;
  border-width: 0 3px;
  border-bottom: 7px solid #fff;
Changes to src/default.css.
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #000;
}
.tl-node.closed-leaf:after {
  content: '';
  position: absolute;
  top: 4px;
  left: 0px;
  width: 10px;
  height: 2px;
  background: #000;
  border-radius: 0%;
}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 6px;







|
<

|


|
|
<







116
117
118
119
120
121
122
123

124
125
126
127
128
129

130
131
132
133
134
135
136
  position: absolute;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 4px;
  background: #000;
}
.tl-node.closed-leaf svg {

  position: absolute;
  top: 0px;
  left: 0px;
  width: 10px;
  height: 10px;
  color: #000;

}
.tl-node.sel:after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 6px;
Changes to src/graph.js.
387
388
389
390
391
392
393
394
395

396
397
398
399
400
401












402
403
404
405
406
407
408
      if(e) e.style.backgroundColor = p.bg;
    }
    if( p.r<0 ) return;
    if( p.u>0 ) drawUpArrow(p,tx.rowinfo[p.u-tx.iTopRow],p.fg,p.id);
    if( p.sb>0 ) drawDotted(p,tx.rowinfo[p.sb-tx.iTopRow],p.fg,p.id);
    var cls = node.cls;
    if( p.hasOwnProperty('mi') && p.mi.length ) cls += " merge";
    if( p.f&1 ) cls += " leaf";
    if( p.f&2 ) cls += " closed-leaf";

    var n = drawBox(cls,p.bg,p.x,p.y);
    n.id = "tln"+p.id;
    n.onclick = clickOnNode;
    n.ondblclick = dblclickOnNode;
    n.onmousemove = mouseOverNode;
    n.style.zIndex = 10;












    if( !tx.omitDescenders ){
      if( p.u==0 ){
        if( p.hasOwnProperty('mo') && p.r==p.mo ){
          var ix = p.hasOwnProperty('cu') ? p.cu : p.mu;
          var top = tx.rowinfo[ix-tx.iTopRow]
          drawUpArrow(p,{x: p.x, y: top.y-node.h}, p.fg, p.id);
        }else if( p.y>100 ){







<

>






>
>
>
>
>
>
>
>
>
>
>
>







387
388
389
390
391
392
393

394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
      if(e) e.style.backgroundColor = p.bg;
    }
    if( p.r<0 ) return;
    if( p.u>0 ) drawUpArrow(p,tx.rowinfo[p.u-tx.iTopRow],p.fg,p.id);
    if( p.sb>0 ) drawDotted(p,tx.rowinfo[p.sb-tx.iTopRow],p.fg,p.id);
    var cls = node.cls;
    if( p.hasOwnProperty('mi') && p.mi.length ) cls += " merge";

    if( p.f&2 ) cls += " closed-leaf";
    else if( p.f&1 ) cls += " leaf";
    var n = drawBox(cls,p.bg,p.x,p.y);
    n.id = "tln"+p.id;
    n.onclick = clickOnNode;
    n.ondblclick = dblclickOnNode;
    n.onmousemove = mouseOverNode;
    n.style.zIndex = 10;
    if( p.f&2 ){
      var pt1 = 0;
      var pt2 = 100;
      if( tx.circleNodes ){
        pt1 = 14;
        pt2 = 86;
      }
      n.innerHTML = "<svg width='100%' height='100%'viewbox='0 0 100 100'>"
          + `<path d='M ${pt1},${pt1} L ${pt2},${pt2} M ${pt1},${pt2} L ${pt2},${pt1}'`
          + " stroke='currentcolor' stroke-width='13'/>"
          + "</svg>";
    }
    if( !tx.omitDescenders ){
      if( p.u==0 ){
        if( p.hasOwnProperty('mo') && p.r==p.mo ){
          var ix = p.hasOwnProperty('cu') ? p.cu : p.mu;
          var top = tx.rowinfo[ix-tx.iTopRow]
          drawUpArrow(p,{x: p.x, y: top.y-node.h}, p.fg, p.id);
        }else if( p.y>100 ){