docs: add @moduledoc to all LiveView modules
Add comprehensive module documentation to 12 LiveView modules covering member, user, property, and property_type management views.
This commit is contained in:
parent
409bc7bf2f
commit
ca84633641
12 changed files with 308 additions and 0 deletions
|
|
@ -1,4 +1,33 @@
|
|||
defmodule MvWeb.MemberLive.Form do
|
||||
@moduledoc """
|
||||
LiveView form for creating and editing members.
|
||||
|
||||
## Features
|
||||
- Create new members with personal information
|
||||
- Edit existing member details
|
||||
- Manage custom properties (dynamic fields)
|
||||
- Real-time validation with visual feedback
|
||||
- Link/unlink user accounts
|
||||
|
||||
## Form Fields
|
||||
**Required:**
|
||||
- first_name, last_name, email
|
||||
|
||||
**Optional:**
|
||||
- birth_date, phone_number, address fields (city, street, house_number, postal_code)
|
||||
- join_date, exit_date
|
||||
- paid status
|
||||
- notes
|
||||
|
||||
## Custom Properties
|
||||
Members can have dynamic custom properties defined by PropertyTypes.
|
||||
The form dynamically renders inputs based on available PropertyTypes.
|
||||
|
||||
## Events
|
||||
- `validate` - Real-time form validation
|
||||
- `save` - Submit form (create or update member)
|
||||
- Property management events for adding/removing custom fields
|
||||
"""
|
||||
use MvWeb, :live_view
|
||||
|
||||
@impl true
|
||||
|
|
|
|||
|
|
@ -1,4 +1,29 @@
|
|||
defmodule MvWeb.MemberLive.Index do
|
||||
@moduledoc """
|
||||
LiveView for displaying and managing the member list.
|
||||
|
||||
## Features
|
||||
- Full-text search across member profiles using PostgreSQL tsvector
|
||||
- Sortable columns (name, email, address fields)
|
||||
- Bulk selection for future batch operations
|
||||
- Real-time updates via LiveView
|
||||
- Bookmarkable URLs with query parameters
|
||||
|
||||
## URL Parameters
|
||||
- `query` - Search query string for full-text search
|
||||
- `sort_field` - Field to sort by (e.g., :first_name, :email, :join_date)
|
||||
- `sort_order` - Sort direction (:asc or :desc)
|
||||
|
||||
## Events
|
||||
- `delete` - Remove a member from the database
|
||||
- `select_member` - Toggle individual member selection
|
||||
- `select_all` - Toggle selection of all visible members
|
||||
|
||||
## Implementation Notes
|
||||
- Search uses PostgreSQL full-text search (plainto_tsquery)
|
||||
- Sort state is synced with URL for bookmarkability
|
||||
- Components communicate via `handle_info` for decoupling
|
||||
"""
|
||||
use MvWeb, :live_view
|
||||
import Ash.Expr
|
||||
import Ash.Query
|
||||
|
|
|
|||
|
|
@ -1,4 +1,26 @@
|
|||
defmodule MvWeb.MemberLive.Show do
|
||||
@moduledoc """
|
||||
LiveView for displaying a single member's details.
|
||||
|
||||
## Features
|
||||
- Display all member information (personal, contact, address)
|
||||
- Show linked user account (if exists)
|
||||
- Display custom properties
|
||||
- Navigate to edit form
|
||||
- Return to member list
|
||||
|
||||
## Displayed Information
|
||||
- Basic: name, email, dates (birth, join, exit)
|
||||
- Contact: phone number
|
||||
- Address: street, house number, postal code, city
|
||||
- Status: paid flag
|
||||
- Relationships: linked user account
|
||||
- Custom: dynamic properties from PropertyTypes
|
||||
|
||||
## Navigation
|
||||
- Back to member list
|
||||
- Edit member (with return_to parameter for back navigation)
|
||||
"""
|
||||
use MvWeb, :live_view
|
||||
import Ash.Query
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue