# `MishkaCmsCoreWeb.Live.Admin.Components.MediaField`
[🔗](https://github.com/mishka-group/mishka_cms_core/blob/v0.0.1/lib/mishka_cms_core_web/live/admin/components/media_field.ex#L5)

A form's picture field: the address the record stores, a preview of it, and the site's media
library under it — an upload dropped there, or a file chosen from it, fills the field. It is what
`MishkaCmsCoreWeb.UIAdapters.Admin.text_input/1` draws for `ui do extra %{media: :images} end`,
with `folder: "name"` naming the library folder its uploads are filed in.

The address stays the form's field: it can still be typed, and saving reads it as any other. A
pick reaches the Gervaz form as the combobox's does, a `combobox_select` pushed to the form from
the browser, once the pick is drawn here. The library is
`MishkaCmsCoreWeb.Live.Admin.Components.ContentMediaChooser`, the content editor's own, closed
until it is asked for.

`opened` is the count of the form it is in (`MishkaGervaz.Form.Web.State`): a form opened again
drops a pick it has not taken, and draws the library closed again.

Outside a Gervaz form — the Settings page — `select` is how a pick or a clear reaches the form:
a function of the new address returning the `Phoenix.LiveView.JS` to run, and `library: false`
leaves the library out, for a field with no site to take files from.

It is its own component because it keeps which pick the form has yet to take.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
