Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Improved rendering of the graphs on the /thisdayinhistory page. More generally, improved rendering of multiple graphs on the same page that omit the TIMELINE_DISJOINT flag. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
8e2b8b027bc2d62a1f1ac23841be74d3 |
| User & Date: | drh 2019-05-12 23:48:09.083 |
References
|
2019-05-14
| ||
| 13:46 | Fix the graph on the /finfo page - apparently broken by check-in [8e2b8b027bc2d62a1]. check-in: aa149371ed user: drh tags: trunk | |
Context
|
2019-05-13
| ||
| 01:47 | Add "Yesterday" and "Tomorrow" submenu links on the /thisdayinhistory page. check-in: d0de24fe86 user: drh tags: trunk | |
|
2019-05-12
| ||
| 23:48 | Improved rendering of the graphs on the /thisdayinhistory page. More generally, improved rendering of multiple graphs on the same page that omit the TIMELINE_DISJOINT flag. check-in: 8e2b8b027b user: drh tags: trunk | |
|
2019-05-11
| ||
| 01:42 | More documentation updates to highlight recent changes. check-in: bcea5291ce user: drh tags: trunk | |
Changes
Changes to src/graph.c.
| ︙ | ︙ | |||
587 588 589 590 591 592 593 |
for(j=0; j<GR_MAX_RAIL; j++){
if( mergeRiserFrom[j]==parentRid ){
iMrail = j;
break;
}
}
if( iMrail==-1 ){
| | | 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 |
for(j=0; j<GR_MAX_RAIL; j++){
if( mergeRiserFrom[j]==parentRid ){
iMrail = j;
break;
}
}
if( iMrail==-1 ){
iMrail = findFreeRail(p, pRow->idx, p->pLast->idx, 0);
if( p->mxRail>=GR_MAX_RAIL ) return;
mergeRiserFrom[iMrail] = parentRid;
}
mask = BIT(iMrail);
if( i>=pRow->nNonCherrypick ){
pRow->mergeIn[iMrail] = 2;
pRow->cherrypickDown |= mask;
|
| ︙ | ︙ |
Changes to src/graph.js.
| ︙ | ︙ | |||
346 347 348 349 350 351 352 |
canvasDiv.innerHTML = "";
var canvasY = absoluteY(canvasDiv);
for(var i=0; i<tx.rowinfo.length; i++ ){
var e = document.getElementById("m"+tx.rowinfo[i].id);
tx.rowinfo[i].y = absoluteY(e) - canvasY;
tx.rowinfo[i].x = tx.rowinfo[i].r*railPitch;
}
| | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 |
canvasDiv.innerHTML = "";
var canvasY = absoluteY(canvasDiv);
for(var i=0; i<tx.rowinfo.length; i++ ){
var e = document.getElementById("m"+tx.rowinfo[i].id);
tx.rowinfo[i].y = absoluteY(e) - canvasY;
tx.rowinfo[i].x = tx.rowinfo[i].r*railPitch;
}
var tlBtm = document.getElementById(tx.bottomRowId);
if( tlBtm.offsetHeight<node.h ){
tlBtm.style.height = node.h + "px";
}
var btm = absoluteY(tlBtm) - canvasY + tlBtm.offsetHeight;
for( var i=0; i<tx.nrail; i++) mergeBtm[i] = btm;
for( var i=tx.rowinfo.length-1; i>=0; i-- ){
drawNode(tx.rowinfo[i], btm);
|
| ︙ | ︙ |
Changes to src/timeline.c.
| ︙ | ︙ | |||
760 761 762 763 764 765 766 |
}
if( pGraph ){
graph_finish(pGraph, (tmFlags & TIMELINE_DISJOINT)!=0);
if( pGraph->nErr ){
graph_free(pGraph);
pGraph = 0;
}else{
| | > | 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 |
}
if( pGraph ){
graph_finish(pGraph, (tmFlags & TIMELINE_DISJOINT)!=0);
if( pGraph->nErr ){
graph_free(pGraph);
pGraph = 0;
}else{
@ <tr class="timelineBottom" id="btm-%d(iTableId)">\
@ <td></td><td></td><td></td></tr>
}
}
@ </table>
if( fchngQueryInit ) db_finalize(&fchngQuery);
timeline_output_graph_javascript(pGraph, tmFlags, iTableId);
}
|
| ︙ | ︙ | |||
846 847 848 849 850 851 852 853 854 855 856 857 858 859 |
@ "nomo": %d(PB("nomo")),
@ "iTopRow": %d(iTopRow),
@ "omitDescenders": %d(omitDescenders),
@ "fileDiff": %d(fileDiff),
@ "scrollToSelect": %d(scrollToSelect),
@ "nrail": %d(pGraph->mxRail+1),
@ "baseUrl": "%R",
if( pGraph->nRow==0 ){
@ "rowinfo": null
}else{
@ "rowinfo": [
}
/* the rowinfo[] array contains all the information needed to generate
| > | 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 |
@ "nomo": %d(PB("nomo")),
@ "iTopRow": %d(iTopRow),
@ "omitDescenders": %d(omitDescenders),
@ "fileDiff": %d(fileDiff),
@ "scrollToSelect": %d(scrollToSelect),
@ "nrail": %d(pGraph->mxRail+1),
@ "baseUrl": "%R",
@ "bottomRowId": "btm-%d(iTableId)",
if( pGraph->nRow==0 ){
@ "rowinfo": null
}else{
@ "rowinfo": [
}
/* the rowinfo[] array contains all the information needed to generate
|
| ︙ | ︙ | |||
2844 2845 2846 2847 2848 2849 2850 |
continue;
}
zId = db_text(0, "SELECT timestamp FROM timeline"
" ORDER BY sortby DESC LIMIT 1");
@ <h2>%d(iAgo) Year%s(iAgo>1?"s":"") Ago
@ <small>%z(href("%R/timeline?c=%t",zId))(more context)</a>\
@ </small></h2>
| | | 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 |
continue;
}
zId = db_text(0, "SELECT timestamp FROM timeline"
" ORDER BY sortby DESC LIMIT 1");
@ <h2>%d(iAgo) Year%s(iAgo>1?"s":"") Ago
@ <small>%z(href("%R/timeline?c=%t",zId))(more context)</a>\
@ </small></h2>
www_print_timeline(&q, TIMELINE_GRAPH, 0, 0, 0, 0);
}
db_finalize(&q);
style_footer();
}
/*
|
| ︙ | ︙ |