feat: stats activity-over-time granularity selector (timeline / day / week / month / year)
Backend adds cyclical distributions ByHour (hour-of-day), ByDOW (weekday), ByDOM (day-of-month) and ByMonthYr (calendar month), all UTC. The Activity-over-time card gains a selector: Timeline keeps the chronological month trend; Day/Week/ Month/Year show the hour/weekday/day/month distribution as bars.
This commit is contained in:
@@ -3927,6 +3927,10 @@ export namespace qso {
|
||||
top_entities: Bucket[];
|
||||
by_year: Bucket[];
|
||||
by_month: Bucket[];
|
||||
by_hour: Bucket[];
|
||||
by_dow: Bucket[];
|
||||
by_dom: Bucket[];
|
||||
by_month_yr: Bucket[];
|
||||
window_start: string;
|
||||
window_end: string;
|
||||
window_hours: number;
|
||||
@@ -3967,6 +3971,10 @@ export namespace qso {
|
||||
this.top_entities = this.convertValues(source["top_entities"], Bucket);
|
||||
this.by_year = this.convertValues(source["by_year"], Bucket);
|
||||
this.by_month = this.convertValues(source["by_month"], Bucket);
|
||||
this.by_hour = this.convertValues(source["by_hour"], Bucket);
|
||||
this.by_dow = this.convertValues(source["by_dow"], Bucket);
|
||||
this.by_dom = this.convertValues(source["by_dom"], Bucket);
|
||||
this.by_month_yr = this.convertValues(source["by_month_yr"], Bucket);
|
||||
this.window_start = source["window_start"];
|
||||
this.window_end = source["window_end"];
|
||||
this.window_hours = source["window_hours"];
|
||||
|
||||
Reference in New Issue
Block a user