Package-level declarations

Types

Link copied to clipboard

Convenience type-alias for PanelContainerController<*, *>.

Link copied to clipboard

Allows extending a PanelContainerElement list with PanelContainerElement.BasicElement elements with BD as basic element data type.

Link copied to clipboard
abstract class PanelContainerController<D, VM>(panelContainerId: PanelContainerId, panelData: LiveData<out D?>)

A base class for managing the contents of a container of panels.

Link copied to clipboard
@IviExperimental(reasons = [])
sealed class PanelContainerElement<SD>

Element of a panel container.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@IviExperimental(reasons = [])
open class PanelContainerViewModel<CD, VM : PanelSubContainerViewModel<SD>, SD>(val panelContainerData: CD?, val subContainerViewModels: List<VM>)

The view model of a panel container.

Link copied to clipboard

Holds a reference to a panel fragment container.

Link copied to clipboard

A panel fragment container ID.

Functions

Link copied to clipboard
@IviExperimental(reasons = [])
fun <V : ViewGroup, PanelContainer<*, *>, CD, VM : PanelSubContainerViewModel<SD>, SD> V.createPanelContainerController(panelContainerData: LiveData<CD?>, panelContainerControllerAdapter: PanelContainerControllerAdapter<V, CD?, VM, SD>, basePanelContext: CommonPanelContext): PanelContainerController<CD?, VM>

Allows any ViewGroup implementation that implements the PanelContainer interface to create a PanelContainerController to visualize the panelContainerData in this ViewGroup container.

Returns a PanelFragmentContainerHolder referencing the first matching FragmentContainerView in this panel sub-container. A FragmentContainerView is considered a match if its view ID matches the stubId.

Link copied to clipboard

Returns a PanelFragmentContainerHolder referencing the first matching FragmentContainerView in this panel sub-container. A FragmentContainerView is considered a match if its view ID matches the stubId. If stubId is null any FragmentContainerView matches.

Link copied to clipboard
@IviExperimental(reasons = [])
fun <VM : PanelSubContainerViewModel<SD>, SD> inflateSubContainerAndBindViewModel(panelContainer: ViewGroup, @LayoutRes subContainerLayoutId: Int?, subContainerViewModel: VM): PanelContainerElementHolder.SubContainerHolder<VM, SD>

Inflates a panel sub-container with a single panel fragment container for panelContainer from a layout based on subContainerLayoutId. If subContainerLayoutId is null then a default FragmentContainerView is returned.