State driven panel sub-container controller interface to control the behavior of the StateDrivenPanelContainerControllerAdapter.



The type of the panel container data that is visualized by the panel container.


The panel sub-container view model type.


The type of the panel sub-container data. The data is derived from the panel container data.



Link copied to clipboard
@IviExperimental(reasons = [])
data class SubContainerDataUpdate<VM : PanelSubContainerViewModel<SD>, SD>(val subContainerViewModel: VM, val subContainerData: SD)


Link copied to clipboard
abstract fun createSubContainer(panelContainer: ViewGroup, subContainerViewModel: VM, panelContainerViewModel: PanelContainerViewModel<CD, VM, SD>): SubContainerCreation<VM, SD>

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
abstract fun getNewSubContainerData(panelContainerViewModel: PanelContainerViewModel<CD, VM, SD>): Collection<SD>

Determines if new panel sub-containers should be created, based on panelContainerViewModel.

Link copied to clipboard

Updates the panel sub-container data associated to the existing panel sub-container view models.

Link copied to clipboard
abstract fun isSubContainerExitAllowed(subContainerViewModel: VM): Boolean

Whether the panel sub-container exit of the given subContainerViewModel is allowed.