User Interface medium complexity mobile
0
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

A mobile UI widget that renders the mutually exclusive expense type options for a single expense entry. It enforces mutual-exclusion rules by disabling incompatible choices when a type is selected. Configuration is loaded from the local cache so the widget functions fully offline.

Feature: Expense Types & Requirements

expense-type-picker-widget

Sources & reasoning

Lines 67 and 112 both explicitly require fixed type choices with technical enforcement of mutual exclusivity, framed as a hard HLF requirement. This is part of Reiserefusjonshåndtering in the Phase 2 roadmap (line 343), placing it at v1.0.

  • docs/source/likeperson.md · line 67
    Faste valg for utleggstype - ikke fritekst - for å hindre feilkombinasjon (f.eks. både km og bussbillett).
  • docs/source/likeperson.md · line 112
    Detaljert refusjonsstyring med faste valg som gjør feilkombinasjon teknisk umulig (f.eks. km + bussbillett kan ikke velges samtidig). Automatisk godkjenning under terskel.

Responsibilities

  • Render available expense type options fetched from the local configuration cache
  • Enforce mutual-exclusion rules by disabling incompatible options on selection
  • Emit selection change events consumed by the parent expense entry form
  • Display type-specific field requirements and documentation hints inline

Interfaces

render(config: ExpenseTypeConfig, selectedType: string | null): void
onTypeSelected(type: string): void
reset(): void

Related Data Entities (2)

Data entities managed by this component