View Source Bonfire.UI.Common (Bonfire v0.9.10-classic-beta.169)
A library of common utils and helpers used across Bonfire extensions
- Many common functions for web UIs
- Common and generic re-usable components
- Etc
Handy commands
Copyright and License
Copyright (c) 2022 Bonfire Contributors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Summary
Functions
Warning: this will set assigns for any/all users who subscribe to them. You want to cast_self/2
instead if dealing with user-specific actions or private data.
copies the go
param into a query string, if any
Callback implementation for Bonfire.Common.ExtensionModule.declared_extension/0
.
Generate a query string adding a go
redirection path to the URI (for redirecting somewhere after auth flows).
It is recommended to use set_go_after/2
where possible instead.
Special LiveView helper function which allows loading LiveComponents in regular Phoenix views: live_render_component(@conn, MyLiveComponent)
Inserts one or many items in an existing stream.
See Phoenix.LiveView.stream_insert/4
for opts.
Subscribe to assigns targeted at the current account/user
Save a go
redirection path in the session (for redirecting somewhere after auth flows)
Checks if the socket is connected.
Run a function and expects tuple. If anything else is returned, like an error, a flash message is shown to the user.
Functions
assign_flash(socket_or_conn, type, message, assigns \\ %{}, pid \\ self())
View Sourcebatch_update_many_async(current_user, assigns_sockets, many_opts, opts)
View SourceWarning: this will set assigns for any/all users who subscribe to them. You want to cast_self/2
instead if dealing with user-specific actions or private data.
copies the go
param into a query string, if any
current_url(socket_or_assigns, default \\ nil, recursing \\ false)
View SourceCallback implementation for Bonfire.Common.ExtensionModule.declared_extension/0
.
Generate a query string adding a go
redirection path to the URI (for redirecting somewhere after auth flows).
It is recommended to use set_go_after/2
where possible instead.
live_aliases(aliases, path, live_view, action \\ nil, opts \\ [])
View Source (macro)Special LiveView helper function which allows loading LiveComponents in regular Phoenix views: live_render_component(@conn, MyLiveComponent)
live_upload_files(module \\ nil, upload_field \\ :files, current_user, metadata, socket)
View SourceInserts one or many items in an existing stream.
See Phoenix.LiveView.stream_insert/4
for opts.
Subscribe to assigns targeted at the current account/user
Save a go
redirection path in the session (for redirecting somewhere after auth flows)
Checks if the socket is connected.
Examples
iex> socket_connected?(%{socket_connected?: true})
true
iex> socket_connected?(%{socket_connected?: false})
false
iex> socket_connected?(%{__context__: %{socket_connected?: true}})
true
iex> socket_connected?(%Phoenix.LiveView.Socket{transport_pid: 1})
true
iex> socket_connected?(%Phoenix.LiveView.Socket{transport_pid: nil})
false
Run a function and expects tuple. If anything else is returned, like an error, a flash message is shown to the user.