Action List

Action List

Pressing a row does what the row is about. Anything else the row can do is a button on the row itself. A button under the list acting on 'the selected item' is the shape this replaces.

A door

One action, and the whole row is it. The list of rooms, the list of saved links: press it and you are there.


      <.action_row on_activate={@on_join} value={%{"channel" => name}}>
      <:title>{name}</:title> <:cta label="Join"><Icons.icon_btn_add
      /></:cta> </.action_row>
    
An editor

The press opens the row in the panel beside the list, and `current` says which one is open. Remove belongs to the row; Add belongs to the panel, because it has no row to belong to.


      <.action_row current={@editing == name} …> <:action event={@on_remove}
      label="Remove"><Icons.icon_btn_remove /></:action> </.action_row>
    
More than one action

Reordering is the case the old shape charged the most for: select, cross the dialog, press Up, cross back. On the row it is one press per step. A button that cannot apply is disabled in place, so the controls do not shift between rows.


      <:action event={@on_move_up} label="Move up" disabled={first?}>
      <Icons.icon_btn_up /> </:action>
    
Help
Help Topics GitHub License (MIT)
6 objects
Help Topics
GitHub License (MIT)