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: aa149371 user: drh tags: trunk) | |
Context
2019-05-13
| ||
01:47 | Add "Yesterday" and "Tomorrow" submenu links on the /thisdayinhistory page. ... (check-in: d0de24fe 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: 8e2b8b02 user: drh tags: trunk) | |
2019-05-11
| ||
01:42 | More documentation updates to highlight recent changes. ... (check-in: bcea5291 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(); } /* |
︙ | ︙ |