Fossil: Check-in [8f4b7e1f37]

Fossil SCM

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

Overview
Comment:Revise and partially revert [d28f9e99a0] and [f174bfa157]: no need to remove the parents, TIMELINE_DISJOINT already does the magic. Related nodes now again have connecting rails for the /leaves, /brtimeline, and /tagtimeline web pages.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fix-timeline-view
Files: files | file ages | folders
SHA3-256:8f4b7e1f37060f259c1f5c61ddd737fcd60faee6706d3b9cbf734eb64cb159fb
User & Date: florian 2018-12-24 20:54:00
Context
2018-12-24
21:33
Add the 'hide' query parameter to remove check-ins tagged as "hidden" (which are shown by default) for the /leaves, /brtimeline, and /tagtimeline web pages. (Rationale: listings of open leaves not tagged as "hidden" can make handy TODO lists.) check-in: 92fa366462 user: florian tags: fix-timeline-view
20:54
Revise and partially revert [d28f9e99a0] and [f174bfa157]: no need to remove the parents, TIMELINE_DISJOINT already does the magic. Related nodes now again have connecting rails for the /leaves, /brtimeline, and /tagtimeline web pages. check-in: 8f4b7e1f37 user: florian tags: fix-timeline-view
12:44
Also add background colors, clickable nodes, the option box to select the viewing mode, and timeline query parameters 'ng', 'brbg' and 'ubg' for the /brtimeline and /tagtimeline web pages. check-in: f174bfa157 user: florian tags: fix-timeline-view
Changes

Changes to src/branch.c.

637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
  @ <h2>The initial check-in for each branch:</h2>
  db_prepare(&q,
    "%s AND blob.rid IN (SELECT rid FROM tagxref"
    "                     WHERE tagtype>0 AND tagid=%d AND srcid!=0)"
    " ORDER BY event.mtime DESC",
    timeline_query_for_www(), TAG_BRANCH
  );
  /* With TIMELINE_LEAFONLY (which also implies TIMELINE_DISJOINT), the branch
  ** background colors are shown, and the timeline nodes are drawn, but the
  ** connecting rails are omitted. */
  tmFlags = TIMELINE_LEAFONLY | TIMELINE_NOSCROLL;
  if( P("ng")==0 ) tmFlags |= TIMELINE_GRAPH;
  if( P("brbg")!=0 ) tmFlags |= TIMELINE_BRCOLOR;
  if( P("ubg")!=0 ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, brtimeline_extra);
  db_finalize(&q);
  style_footer();
}







|
|
<
|







637
638
639
640
641
642
643
644
645

646
647
648
649
650
651
652
653
  @ <h2>The initial check-in for each branch:</h2>
  db_prepare(&q,
    "%s AND blob.rid IN (SELECT rid FROM tagxref"
    "                     WHERE tagtype>0 AND tagid=%d AND srcid!=0)"
    " ORDER BY event.mtime DESC",
    timeline_query_for_www(), TAG_BRANCH
  );
  /* Always specify TIMELINE_DISJOINT, or graph_finish() may fail because of too
  ** many descenders to (off-screen) parents. */

  tmFlags = TIMELINE_DISJOINT | TIMELINE_NOSCROLL;
  if( P("ng")==0 ) tmFlags |= TIMELINE_GRAPH;
  if( P("brbg")!=0 ) tmFlags |= TIMELINE_BRCOLOR;
  if( P("ubg")!=0 ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, brtimeline_extra);
  db_finalize(&q);
  style_footer();
}

Changes to src/descendants.c.

532
533
534
535
536
537
538


539
540
541
542
543
544
545
546
  if( showClosed ){
    blob_append_sql(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
  }else if( !showAll ){
    blob_append_sql(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
  }
  db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_sql_text(&sql));
  blob_reset(&sql);


  tmFlags = TIMELINE_LEAFONLY | TIMELINE_NOSCROLL;
  if( fNg==0 ) tmFlags |= TIMELINE_GRAPH;
  if( fBrBg ) tmFlags |= TIMELINE_BRCOLOR;
  if( fUBg ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, 0);
  db_finalize(&q);
  @ <br />
  style_footer();







>
>
|







532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
  if( showClosed ){
    blob_append_sql(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
  }else if( !showAll ){
    blob_append_sql(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
  }
  db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_sql_text(&sql));
  blob_reset(&sql);
  /* Always specify TIMELINE_DISJOINT, or graph_finish() may fail because of too
  ** many descenders to (off-screen) parents. */
  tmFlags = TIMELINE_LEAFONLY | TIMELINE_DISJOINT | TIMELINE_NOSCROLL;
  if( fNg==0 ) tmFlags |= TIMELINE_GRAPH;
  if( fBrBg ) tmFlags |= TIMELINE_BRCOLOR;
  if( fUBg ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, 0);
  db_finalize(&q);
  @ <br />
  style_footer();

Changes to src/tag.c.

711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
    "%s AND blob.rid IN (SELECT rid FROM tagxref"
    "                     WHERE tagtype=1 AND srcid>0"
    "                       AND tagid IN (SELECT tagid FROM tag "
    "                                      WHERE tagname GLOB 'sym-*'))"
    " ORDER BY event.mtime DESC /*sort*/",
    timeline_query_for_www()
  );
  /* With TIMELINE_LEAFONLY (which also implies TIMELINE_DISJOINT), the branch
  ** background colors are shown, and the timeline nodes are drawn, but the
  ** connecting rails are omitted. */
  tmFlags = TIMELINE_LEAFONLY | TIMELINE_NOSCROLL;
  if( P("ng")==0 ) tmFlags |= TIMELINE_GRAPH;
  if( P("brbg")!=0 ) tmFlags |= TIMELINE_BRCOLOR;
  if( P("ubg")!=0 ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, 0);
  db_finalize(&q);
  @ <br />
  style_footer();
}







|
|
<
|








711
712
713
714
715
716
717
718
719

720
721
722
723
724
725
726
727
728
    "%s AND blob.rid IN (SELECT rid FROM tagxref"
    "                     WHERE tagtype=1 AND srcid>0"
    "                       AND tagid IN (SELECT tagid FROM tag "
    "                                      WHERE tagname GLOB 'sym-*'))"
    " ORDER BY event.mtime DESC /*sort*/",
    timeline_query_for_www()
  );
  /* Always specify TIMELINE_DISJOINT, or graph_finish() may fail because of too
  ** many descenders to (off-screen) parents. */

  tmFlags = TIMELINE_DISJOINT | TIMELINE_NOSCROLL;
  if( P("ng")==0 ) tmFlags |= TIMELINE_GRAPH;
  if( P("brbg")!=0 ) tmFlags |= TIMELINE_BRCOLOR;
  if( P("ubg")!=0 ) tmFlags |= TIMELINE_UCOLOR;
  www_print_timeline(&q, tmFlags, 0, 0, 0, 0);
  db_finalize(&q);
  @ <br />
  style_footer();
}

Changes to src/timeline.c.

284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
...
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
    zStyle = "Modern";
  }
  zDateFmt = P("datefmt");
  if( zDateFmt ) dateFormat = atoi(zDateFmt);
  if( tmFlags & TIMELINE_GRAPH ){
    pGraph = graph_init();
  }
  /* Always combine TIMELINE_LEAFONLY with TIMELINE_DISJOINT, or graph_finish()
  ** may fail because of too many descenders to (off-screen) parents. */
  if( tmFlags & TIMELINE_LEAFONLY ){
    tmFlags |= TIMELINE_DISJOINT;
  }
  db_static_prepare(&qbranch,
    "SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0 AND rid=:rid",
    TAG_BRANCH
  );

  @ <table id="timelineTable%d(iTableId)" class="timelineTable">
  blob_zero(&comment);
................................................................................
          zBgClr = 0;
        }else{
          zBgClr = hash_color(zBr);
        }
      }
    }
    if( zType[0]=='c' && pGraph ){
      if( (tmFlags & TIMELINE_LEAFONLY)==0 ){
        int nParent = 0;
        int aParent[GR_MAX_RAIL];
        static Stmt qparent;
        db_static_prepare(&qparent,
          "SELECT pid FROM plink"
          " WHERE cid=:rid AND pid NOT IN phantom"
          " ORDER BY isprim DESC /*sort*/"
        );
        db_bind_int(&qparent, ":rid", rid);
        while( db_step(&qparent)==SQLITE_ROW && nParent<count(aParent) ){
          aParent[nParent++] = db_column_int(&qparent, 0);
        }
        db_reset(&qparent);
        gidx = graph_add_row(pGraph, rid, nParent, aParent, zBr, zBgClr,
                             zUuid, isLeaf);
        db_reset(&qbranch);
      }else{
        /* Omit parents if TIMELINE_LEAFONLY is set. */
        gidx = graph_add_row(pGraph, rid, 0, 0, zBr, zBgClr,
                             zUuid, isLeaf);
      }
      @ <div id="m%d(gidx)" class="tl-nodemark"></div>
    }else if( zType[0]=='e' && pGraph && zBgClr && zBgClr[0] ){
      /* For technotes, make a graph node with nParent==(-1).  This will
      ** not actually draw anything on the graph, but it will set the
      ** background color of the timeline entry */
      gidx = graph_add_row(pGraph, rid, -1, 0, zBr, zBgClr, zUuid, 0);
      @ <div id="m%d(gidx)" class="tl-nodemark"></div>







<
<
<
<
<







 







<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
<
<
<
<







284
285
286
287
288
289
290





291
292
293
294
295
296
297
...
420
421
422
423
424
425
426

427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442





443
444
445
446
447
448
449
    zStyle = "Modern";
  }
  zDateFmt = P("datefmt");
  if( zDateFmt ) dateFormat = atoi(zDateFmt);
  if( tmFlags & TIMELINE_GRAPH ){
    pGraph = graph_init();
  }





  db_static_prepare(&qbranch,
    "SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0 AND rid=:rid",
    TAG_BRANCH
  );

  @ <table id="timelineTable%d(iTableId)" class="timelineTable">
  blob_zero(&comment);
................................................................................
          zBgClr = 0;
        }else{
          zBgClr = hash_color(zBr);
        }
      }
    }
    if( zType[0]=='c' && pGraph ){

      int nParent = 0;
      int aParent[GR_MAX_RAIL];
      static Stmt qparent;
      db_static_prepare(&qparent,
        "SELECT pid FROM plink"
        " WHERE cid=:rid AND pid NOT IN phantom"
        " ORDER BY isprim DESC /*sort*/"
      );
      db_bind_int(&qparent, ":rid", rid);
      while( db_step(&qparent)==SQLITE_ROW && nParent<count(aParent) ){
        aParent[nParent++] = db_column_int(&qparent, 0);
      }
      db_reset(&qparent);
      gidx = graph_add_row(pGraph, rid, nParent, aParent, zBr, zBgClr,
                           zUuid, isLeaf);
      db_reset(&qbranch);





      @ <div id="m%d(gidx)" class="tl-nodemark"></div>
    }else if( zType[0]=='e' && pGraph && zBgClr && zBgClr[0] ){
      /* For technotes, make a graph node with nParent==(-1).  This will
      ** not actually draw anything on the graph, but it will set the
      ** background color of the timeline entry */
      gidx = graph_add_row(pGraph, rid, -1, 0, zBr, zBgClr, zUuid, 0);
      @ <div id="m%d(gidx)" class="tl-nodemark"></div>