# Collection layouts

Source: https://docs.externa.qiick.io/docs/collection-layouts

Optional **kanban** and **calendar** layouts on the collection items index. **Table** stays the default.

> **Related**
> [Collection items](/docs/collection-items) · [Field types](/docs/field-types) (select / date) · [Roles & permissions](/docs/roles-and-permissions)

## Switch layout

On the items list toolbar, use the layout toggle:

| Layout   | Needs                           | Behavior                                            |
| -------- | ------------------------------- | --------------------------------------------------- |
| Table    | —                               | Default paginated grid                              |
| Kanban   | `select` or `radio_group` field | Columns from options; drag moves and reorders cards |
| Calendar | `date` field                    | Month / Week / Day / List views; drag to reschedule |

Preference is stored **per user** with list columns (`PUT /collections/{id}/list-columns`: `layout`, `kanban_field`, `calendar_field`).

Toolbar filters on the items list apply to table, kanban, and calendar alike.

## Kanban

1. Pick the status field (select / radio).
2. Drag a card to another column — runs the same item `PUT` + field ACL as the form (`board_move`).
3. Reorder within a column — card order persists in `collections_items.board_sort`.
4. After save, redirect returns to the list (`return` safe path).

Each kanban column loads lazily (**Load more**) via `GET /collections/{collection}/items/kanban-column`.

On **versioned** collections, board moves write the moved field to **published** values (calendar/kanban read published buckets). When `draft_data` is present, that field is patched there too.

## Calendar

1. Pick a date field (`date` or `datetime` mode).
2. Switch between **Month**, **Week**, **Day**, and **List** views.
3. Items load per range via `GET /collections/{collection}/items/calendar-month`.
4. Drag an item to another day to update its date field (`calendar_move` — same ACL as kanban). Datetime fields keep the existing clock when dropped onto a bare day.

Large months show “Showing X of Y items in this month.”

On **versioned** collections, calendar moves update **published** date values the same way as kanban; `draft_data` is patched when present.

## Out of scope

Map layout, gantt, and create-on-empty-slot are not in v1.
