Skip to main content

Module view

Module view 

Source
Expand description

Console display and table formatting system.

Provides interface for rendering application data in well-formatted console tables. Handles presentation layer for work reports, task lists, summaries, templates, and tags.

§Features

  • Structured Data Display: Converts complex data structures into readable tables
  • Consistent Formatting: Maintains uniform appearance across all table types
  • Report Visualization: Displays pre-calculated productivity and work metrics
  • Duration Formatting: Handles time duration display in human-readable formats

§Usage

use kasl::libs::view::View;
use kasl::libs::task::Task;
use kasl::db::workdays::Workday;
use kasl::libs::report::WorkInterval;
use chrono::{Local, TimeDelta};
use std::collections::HashMap;

let tasks: Vec<Task> = vec![];
let workday = Workday {
    id: 1,
    date: Local::now().date_naive(),
    start: Local::now().naive_local(),
    end: None,
};
let intervals: Vec<WorkInterval> = vec![];
let filtered_duration = TimeDelta::zero();
let productivity = 0.0_f64;
let summary_data = (HashMap::new(), String::new(), String::new());

View::tasks(&tasks)?;
View::report(&workday, &intervals, &filtered_duration, &productivity, &tasks)?;
View::sum(&summary_data)?;

Structs§

View
A utility struct for rendering application data to the console.