PhoenixKitDashboards.Web.BuilderComponents (PhoenixKitDashboards v0.2.1)

Copy Markdown View Source

Presentational function components + their render-only helpers for the dashboard builder — extracted verbatim from Web.BuilderLive (review #4) so the LiveView keeps the mount/event/refresh logic and this module owns the ~900 lines of HEEx. BuilderLive imports this module, so its render/1 resolves <.grid> / <.catalog_drawer> / <.settings_modal> here.

No behavior change: the moved helpers call Lattice.to_int/2 / Lattice.clamp/3 directly (BuilderLive keeps its own to_i/1, an unrelated event-param rounder for live drag/resize payloads — not a Lattice wrapper — avoiding a mutual import).

Summary

Functions

catalog_drawer(assigns)

Attributes

  • catalog (:list) (required)

free_mode(assigns)

Attributes

  • dashboard (:map) (required)
  • scope (:any) (required)

grid(assigns)

Attributes

  • dashboard (:map) (required)
  • scope (:any) (required)
  • active_layout (:string) (required)
  • renaming_layout (:string) - Defaults to nil.
  • show_grid_lines (:boolean) (required)

grid_mode(assigns)

Attributes

  • dashboard (:map) (required)
  • scope (:any) (required)
  • active_layout (:string) (required)
  • show_grid_lines (:boolean) (required)
  • empty (:boolean) - Defaults to false.

layout_bar(assigns)

Attributes

  • active_layout (:string) (required)
  • renaming_layout (:string) - Defaults to nil.
  • dashboard (:map) (required)
  • show_grid_lines (:boolean) (required)

pixel_cells(inst)

settings_field(assigns)

Attributes

  • field (:map) (required)
  • value (:any) (required)

settings_instance_data(dashboard, instance_id)

settings_modal(assigns)

Attributes

  • instance (:map) (required)
  • mode (:string) (required)
  • active_layout (:string) (required)
  • grid_placement (:map) - Defaults to nil.
  • cols (:integer) (required)
  • max_rows (:integer) (required)

widget_body(assigns)

Attributes

  • inst (:map) (required)
  • scope (:any) (required)
  • placement (:map) - Defaults to nil.

widget_card(assigns)

Attributes

  • inst (:map) (required)
  • scope (:any) (required)
  • mode (:string) (required)
  • placement (:map) - Defaults to nil.
  • active_layout (:string) - Defaults to nil.
  • cols (:integer) - Defaults to nil.