DismissablePanelStackSubContainerController
open class DismissablePanelStackSubContainerController<SD : DismissablePanelStackData<P>, VM : DismissablePanelStackSubContainerViewModel<SD, P>, P : GenericDismissablePanel<DismissablePanelStackContext>, PanelDescriptorProvider>(@LayoutRes subContainerLayoutId: Int? = null) : StateDrivenSubContainerController<SD?, VM, SD>
The dismissable panel stack sub-container controller.
This panel container attaches a DismissablePanelStackData.stackedPanels to a panel sub-container.
For each panel sub-container a layout based on subContainerLayoutId is inflated. If subContainerLayoutId is null
then a default FragmentContainerView is used.
Constructors
Functions
Link copied to clipboard
override fun createSubContainer(panelContainer: ViewGroup, subContainerViewModel: VM, panelContainerViewModel: PanelContainerViewModel<SD?, VM, SD>): StateDrivenSubContainerController.SubContainerCreationResult<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
override fun getNewSubContainerData(panelContainerViewModel: PanelContainerViewModel<SD?, VM, SD>): Collection<SD>
Determines if new panel sub-containers should be created, based on panelContainerViewModel.
Link copied to clipboard
override fun getSubContainerDataUpdates(panelContainerViewModel: PanelContainerViewModel<SD?, VM, SD>): Collection<StateDrivenSubContainerController.SubContainerDataUpdate<VM, SD>>
Updates the panel sub-container data associated to the existing panel sub-container view models.
Link copied to clipboard
Whether the panel sub-container exit of the given subContainerViewModel is allowed.