Timer
Overview
The Timer column records time spent on a row. You can start and stop a stopwatch directly from the record, or add entries manually with a set duration. Every entry is stored in the row's history and totals accumulate across sessions.
Runtime controls
In form view
The form panel shows a timer icon, the label (or column name), and up to three controls:
- "Iniciar" / "Parar" — starts or stops the running stopwatch. While running, an elapsed counter ticks in real time.
- "+" (add manually) — opens the "Adicionar" dialog to log a past duration against today's date. Only available on a saved row.
- "Histórico" — opens the history dialog for this row. Only available on a saved row when Show history button is enabled in the column configuration.
In cell (table) view
The cell renders a single icon button: play_circle_outline when stopped ("Iniciar temporizador"), stop_circle when running ("Parar temporizador"). Manual-add and history are not accessible from the cell.
Configuration
| Setting | Description |
|---|---|
| Label | Optional text that overrides the column name in the form panel and history dialog title. |
| Prompt before start | When enabled, opens a start dialog before the timer actually begins. Use this to capture notes or linked-row choices at start time. |
| Show history button | Shows the "Histórico" button in the form panel. Disable for a cleaner layout when users don't need to review past entries. |
| Category from field | Column whose current value is copied into Timer.category when the timer starts. Useful for tagging entries automatically (e.g., a "Project" select column). |
| Context fields to capture | Legacy list of host columns whose values are snapshotted into metadata.fields at start. Still read for backwards compatibility; new configs should use featureColumnMap.host instead. |
| Link feature | Target feature whose rows receive the timer outcome. When set, on stop a new row is created in that feature (or the user picks an existing row, depending on how the mapping is configured). |
| Feature column map | Dictionary controlling how timer data flows into the linked feature. Four recognised keys: auto (maps linked-feature columns to timer fields such as started_at, ended_at, duration_seconds, user_id, label, category, notes), host (maps linked-feature columns to columns of the current row, read at start), ask_at_start (list of linked-feature columns rendered in the start dialog for the user to fill in), history_label_field (controls the title of each entry in the history list — either auto:label|category|notes|duration to read a timer field, or field:<name> to read from captured metadata). |
Profiles ("Perfis")
Profiles are named shortcuts managed per workspace. Each profile can predefine a label, icon, colour, default category, default notes, a linked feature, a feature column map, and optional auto-stop rules (stop at a fixed time of day, stop after a maximum duration, with an optional warning window). When the user opens the "Adicionar" dialog (from the form panel or a timesheet view), they can pick a profile — its defaults pre-populate the form, and any ask_at_start columns are rendered for input.
History dialog ("Histórico")
The history dialog lists all timer entries for the row, sorted newest first. The header shows the total time and entry count. Controls:
- "Adicionar" button — opens the entry dialog to log a new manual entry.
- Tap an entry — opens the edit dialog when the entry was added manually. Entries created by the stopwatch stay read-only and tapping them shows a short info message.
- Popup menu — each entry has a menu with "Editar" (manual entries only) and "Eliminar". Deletion prompts a confirmation dialog and shows a brief acknowledgement.
Timesheet views
The Timesheet view's Diário, Semanal, and Mensal modes expose the same "Adicionar" dialog and profile picker. Entries created there are identical to those created from the component and appear in the row's history.