SinglePanelSubContainerController
class SinglePanelSubContainerController<VM : SinglePanelSubContainerViewModel<P>, P : Panel>(@LayoutRes subContainerLayoutId: Int? = null) : StateDrivenSubContainerController<P?, VM, P>
Content copied to clipboard
A panel sub-container controller for visualizing a single panel in a panel container.
For each panel sub-container a layout based on subContainerLayoutId is inflated. If subContainerLayoutId is null
then a default FragmentContainerView is used.
Parameters
VM
The panel sub-container view model type.
P
The panel type.
Constructors
Link copied to clipboard
fun SinglePanelSubContainerController(@LayoutRes subContainerLayoutId: Int? = null)
Content copied to clipboard
Functions
Link copied to clipboard
open override fun createSubContainer( panelContainer: ViewGroup, subContainerViewModel: VM, panelContainerViewModel: PanelContainerViewModel<P?, VM, P>): StateDrivenSubContainerController.SubContainerCreationResult<VM, P>
Content copied to clipboard
Creates a new panel sub-container. If getNewSubContainerData returned a non-empty collection, this method is called for each item in the collection.
Link copied to clipboard
open override fun getNewSubContainerData(panelContainerViewModel: PanelContainerViewModel<P?, VM, P>): Collection<P>
Content copied to clipboard
Determines if new panel sub-containers should be created, based on panelContainerViewModel.
Link copied to clipboard
open override fun getSubContainerDataUpdates(panelContainerViewModel: PanelContainerViewModel<P?, VM, P>): Collection<StateDrivenSubContainerController.SubContainerDataUpdate<VM, P>>
Content copied to clipboard
Updates the panel sub-container data associated to the existing panel sub-container view models.
Link copied to clipboard
open override fun isSubContainerExitAllowed(subContainerViewModel: VM): Boolean
Content copied to clipboard
Whether the panel sub-container exit of the given subContainerViewModel is allowed.