ForageWeb.ForageView (forage v0.4.0)
Helper functions for vews that feature forage filters, pagination buttons or sort links.
Link to this section Summary
Functions
Imports functions from ForageWeb.ForageView
and defines a number of functions
specialized for the given resource.
A filter that works on dates.
A filter that works on datetime objects.
See docs for Phoenix.HTML.Form.datetime_local_input/3
.
Form group for horizontal forms.
Widget to select multiple external resources using the Javascript Select2 widget.
A filter that works on numbers.
A link to the next page of filter results. Returns the empty string if the next page doesn't exist.
A link to the previous page of filter results. Returns the empty string if the previous page doesn't exist.
An already styled "pagination widget" containing a link to the next page and to the previous page of filter results.
Widget to select multiple external resources using the Javascript Select2 widget.
Widget to select an external resource using the Javascript Select2 widget.
A link to sort a list of database rows by a certain key.
A filter that works on text.
A filter that works on time.
Creates a fragment that can be reused in the same template.
Link to this section Functions
Imports functions from ForageWeb.ForageView
and defines a number of functions
specialized for the given resource.
TODO: complete this.
forage_active_filters?(conn)
forage_as_html(resource)
forage_as_text(resource)
forage_checkbox(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.checkbox/3
.
forage_color_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.color_input/3
.
forage_date_filter(form, field_spec, opts \\ [])
A filter that works on dates.
It supports the following operators:
- Equal to
- Greater than
- Less than
- Greater than or equal to
- Less than or equal to
Examples
TODO
forage_date_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.date_input/3
.
forage_date_select(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.date_select/3
.
forage_datetime_filter(form, name, opts \\ [])
A filter that works on datetime objects.
It supports the following operators:
- Equal to
- Greater than
- Less than
- Greater than or equal to
- Less than or equal to
Examples
TODO
forage_datetime_local_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.datetime_local_input/3
.
forage_datetime_select(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.datetime_select/3
.
forage_email_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.email_input/3
.
forage_error_tag(form, field, error_helpers)
forage_file_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.file_input/3
.
forage_filter_form_for(conn, action, options \\ [], fun)
Specs
forage_filter_form_for( Phoenix.HTML.FormData.t(), String.t(), Keyword.t(), (Phoenix.HTML.FormData.t() -> Phoenix.HTML.unsafe()) ) :: Phoenix.HTML.safe()
forage_form_check(form, field, label, error_helpers, input_fun)
forage_form_group(form, field, label, error_helpers, input_fun)
forage_horizontal_form_group(name, opts \\ [], list)
Form group for horizontal forms.
forage_inline_form_check(form, field, label, error_helpers, input_fun)
forage_input_type(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.input_type/3
.
forage_multiple_select(form, field, opts)
Widget to select multiple external resources using the Javascript Select2 widget.
Parameters:
form
(%Phoenix.HTml.Form.t/1
)- the formfield
(atom)
Required options:
:path
(required) - the URL from which to request the data This function won't be applied to values requested from the server after:foreign_key
(optional) - The name of the foreign key (as a string or an atom). If this is not supplied it will default to"#{field}_id"
forage_number_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.number_input/3
.
forage_numeric_filter(form, name, opts \\ [])
A filter that works on numbers.
It supports the following operators:
- Equal to
- Greater than
- Less than
- Greater than or equal to
- Less than or equal to
Examples
TODO
forage_pagination_link_next(conn, resource, mod, fun, contents)
A link to the next page of filter results. Returns the empty string if the next page doesn't exist.
forage_pagination_link_previous(conn, resource, mod, fun, contents)
A link to the previous page of filter results. Returns the empty string if the previous page doesn't exist.
forage_pagination_widget(conn, resource, mod, fun, options)
An already styled "pagination widget" containing a link to the next page and to the previous page of filter results.
If either the previous page or the next page doesn't exist, the respective link will be empty.
TODO
forage_password_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.password_input/3
.
forage_radio_button(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.radio_button/3
.
forage_range_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.range_input/3
.
forage_row(widgets)
forage_search_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.search_input/3
.
forage_select(form, field, opts)
Widget to select multiple external resources using the Javascript Select2 widget.
Parameters:
form
(%Phoenix.HTml.Form.t/1
)- the formdisplayer
(module) - a module with adisplayer.as_text/1
function to display the foreign resource.field
(atom)
Required options:
:path
(required) - the URL from which to request the data This function won't be applied to values requested from the server after the initial render.:foreign_key
(optional) - The name of the foreign key (as a string or an atom). If this is not supplied it will default tofield_id
forage_select_filter(form, field, opts)
Widget to select an external resource using the Javascript Select2 widget.
Parameters:
form
(%Phoenix.HTml.Form.t/1
)- the formfield
(atom)
Required options:
:path
(required) - the URL from which to request the data:foreign_key
(optionsl) - The name of the foreign key (as a string or an atom). If this is not supplied it will default tofield_id
forage_sort_link(conn, mod, fun, field, content, options \\ [])
A link to sort a list of database rows by a certain key.
forage_static_select(form, field, opts)
forage_telephone_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.telephone_input/3
.
forage_text_filter(form, name, opts \\ [])
A filter that works on text.
It supports the following operators:
- Contains
- Equal
- Starts with
- Ends with
Examples
TODO
forage_text_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.text_input/3
.
forage_textarea(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.textarea/3
.
forage_time_filter(form, name, opts \\ [])
A filter that works on time.
It supports the following operators:
- Equal to
- Greater than
- Less than
- Greater than or equal to
- Less than or equal to
Examples
TODO
forage_time_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.time_input/3
.
forage_time_select(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.time_select/3
.
forage_url_input(form, field, opts \\ [])
See docs for Phoenix.HTML.Form.url_input/3
.
Creates a fragment that can be reused in the same template.
It's meant to be used in an EEx template, which has some synctatic restrictions that make it hard to set a variable to a an EEx fragment.
Example
<%= fragment widget do %>
<div class="my-widget">
Add an EEx fragment here.
Can contain <%= @dynamic %> fragments.
</div>
<% end %>
<%= widget %>