Koala logo Design
No matches for “
↑↓ navigate open Esc close
Components Activity timeline

Activity timeline

Alternating left/right timeline grouped by day, with sticky day headers and sticky author avatars. Designed for incremental rendering — pass continuation state on the model so appended pages keep the same author on the same side and never duplicate the day header.

<koala-activity-timeline>
Today
  1. Jane Carter accepted the quote

  2. Jane Carter added a note

  1. Marcus Webb created the quote

Yesterday
  1. Marcus Webb set the referrer

<koala-activity-timeline model="@Model.Timeline" />

The most-used shape. Each author groups on one side of the line. A new author flips the side; day boundaries reset the day-header sticky behaviour but preserve the alternation.

3 variants
Today
  1. Jane Carter accepted the quote

  2. Jane Carter added a note

  1. Marcus Webb created the quote

Yesterday
  1. Marcus Webb set the referrer

Default
ShowEntityLink=true
Today
  1. Jane Carter edited a note

  1. Marcus Webb uploaded a document

Visibility icons
ShowVisibilityIcons=true
Today
  1. Jane Carter accepted the quote

  1. Marcus Webb created the quote

Scoped
ShowEntityLink=false
1 state
Today
  1. Jane Carter accepted the quote

  2. Jane Carter added a note

  1. Marcus Webb created the quote

Yesterday
  1. Marcus Webb set the referrer

Default
Stateless renderer. Sticky behaviour kicks in when the parent scroll container moves.
ActivityTimelineModel
Property Type Notes
Days IReadOnlyList<ActivityTimelineDay> One group per day, newest-first.
ShowEntityLink bool Hides the entity link on detail pages already scoped to one entity.
ShowVisibilityIcons bool Adds client / partner audience icons next to each timestamp.
StickyHeader ActivityTimelineSticky Top12 drops the sticky offset under a tab strip; None sits flush.
PreviousDate DateOnly? Continuation state from a prior batch; suppresses a duplicate day header.
PreviousUserId Guid? Continuation state; decides whether the first row starts a new person-group.
PreviousPersonGroupIndex int? Continuation state; keeps the side alternation in step.
Today
  1. Jane Carter accepted the quote

  2. Jane Carter added a note

  1. Marcus Webb created the quote

Yesterday
  1. Marcus Webb set the referrer

Do Pass the continuation state on load-more renders so the appended batch joins seamlessly with the prior one.
  1. Jane Carter accepted the quote
  2. Marcus Webb created the quote
  3. Marcus Webb set the referrer
Don't Don't render activity as a flat list. The author grouping and day header are what make "what happened here" scannable.