API Reference PhoenixKitProjects v#0.5.1

Copy Markdown View Source

Modules

Projects module for PhoenixKit.

Activity logging wrapper for the Projects module.

Atom → translated-string dispatcher for Projects context errors.

Gettext backend for projects-module-specific UI strings.

Tiny locale-aware date/time formatting helpers used by the projects UI.

Centralized path helpers for the Projects module.

Context for projects, tasks, assignments, and dependencies.

Real-time updates for the projects module, backed by PhoenixKit.PubSub.Manager.

A task instance within a project. Copies description and duration from the task template at creation time — editable independently.

A dependency link: assignment_uuid cannot start until depends_on_uuid is done. Both must be in the same project (enforced at the context layer).

A project container. Can start immediately (set up tasks first, then mark as started) or be scheduled for a future date.

Reusable task template with title, description, estimated duration, and optional default assignee.

Default dependency between task templates. When both tasks are added to the same project, the assignment dependency is auto-created.

Public API for AI-driven translation of Project, Task, and Assignment resources. Wraps Oban enqueuing on PhoenixKitProjects.Workers.TranslateResourceWorker and exposes helpers hosts use to drive the language switcher's ai_translate attr.

Shared form-LV helpers for the AI translate bar wiring on project, template, and task forms.

Add a task to a project or edit an existing assignment. Supports picking from library or creating new. Manages assignment dependencies (which tasks in this project must finish first).

Aggregator for the projects module's reusable UI components.

AI-translation affordance for project / template / task forms.

Status presentation for an Assignment.status value ("todo", "in_progress", "done"). Mirrors DerivedStatusBadge but for the assignment lifecycle instead of the project lifecycle.

Badge that renders a project's Project.derived_status/1 value as a daisyUI badge with the canonical icon + color + gettext'd label.

Section heading + description + action button row used by every admin LV in the projects module (Overview, Projects list, Tasks, Templates, Project show, every form).

Layered daisyUI <dialog> modal stack driven by a modal_stack assign. The function component renders the always-visible content (default slot) plus one <dialog> per stack frame, delegating each frame's body rendering to the :frame slot the host provides.

One row in the dashboard's "Running" section — clickable link wrapping a title, tier pill, started-X-ago metadata, done/total counts, an in-progress note, and a colored progress bar.

Embed-mode aware <li> entry for use inside <.table_row_menu>.

Drag-to-reorder list table. Wraps the core SortableGrid hook (priv/static/assets/phoenix_kit.js) with the projects module's standard chrome: card-shadow shell, table layout, drag-handle column with bars-3 icon, hover state, and align-middle cells so icons stay vertically centered during drag.

Compact bordered card with a label and a big number. Used in OverviewLive's top stats row (Running / Tasks in progress / Tasks todo / Tasks done) and in the bottom navigation row.

daisyUI tabs tabs-boxed segment switcher driven by the active value + a list of {value, label, icon} tuples. Used in AssignmentFormLive ("From library" / "Create new") and ready for reuse anywhere a small set of mutually-exclusive panes shares a single LV-managed assign.

Status pill rendered next to a project title on the Running dashboard. Encodes the prioritized-tier classification

Cross-cutting helpers for the projects module's LiveView layer.

Projects module dashboard.

Opinionated wrapper LV that pairs the <.popup_host> function component with the emit-mode PubSub contract.

Create or edit a project.

Show a project with a vertical timeline of assignments. Supports inline status changes, duration editing, dependency management, and tracks who completed each task.

Create or edit a reusable task template, including default dependencies.

List reusable task templates.

Create or edit a project template.

List project templates.

Oban worker that translates a Project / Task / Assignment's translatable fields from a source language to a single target language, then writes the result into the resource's translations JSONB map.