PhoenixKitWarehouse.Web.Components.ColumnModal (PhoenixKitWarehouse v0.1.0)

Copy Markdown View Source

Function component for the "Customize columns" modal used by Andi list LVs.

Layout: two columns inside the modal.

  • Selected (left) — drag to reorder. Each row also exposes a filter toggle for filterable columns; toggled state persists alongside column order.
  • Available (right) — click to add.

The host LiveView must implement these handle_event/3 callbacks (provided by PhoenixKitWarehouse.Web.ColumnManagement):

  • "hide_column_modal"
  • "add_column" (%{"column_id" => id})
  • "remove_column" (%{"column_id" => id})
  • "toggle_filter" (%{"column_id" => id})
  • "reorder_selected_columns" (%{"ordered_ids" => [...]})
  • "update_table_columns" (form submit, %{"column_order" => csv})
  • "reset_to_defaults"

Summary

Functions

column_modal(assigns)

Attributes

  • id (:string) - Defaults to "warehouse-column-modal".
  • show (:boolean) (required)
  • column_config (:atom) (required)
  • selected (:list) (required)
  • active_filters (:list) - Defaults to [].
  • temp_selected (:list) - Defaults to nil.
  • temp_active_filters (:list) - Defaults to nil.